Python(28)-异常

异常

  • 1.抛出异常
  • 2.捕获异常
  • 3.依据错误类型捕获异常
  • 4.捕获未知错误
  • 5.异常捕获的完整语法
  • 6.异常传递
  • 7.主动抛出异常

本系列博文来自学习《Python基础视频教程》笔记整理,视屏教程连接地址:http://yun.itheima.com/course/273.html

1.抛出异常

抛出异常:python解释器遇到程序错误,就停止程序,输出错误信息。

(就算完全符合python 语法的程序,在执行时还是可能会报错,就是超出程序 处理范围时就会报错)针对异常进行处理,下次遇到就不会因为这个异常停止了。

2.捕获异常

编程时不确定某些代码是否完全正确,在这一段代码上面+try+except关键字。如果该段代码不能执行,就会执行except中针对错误处理的代码;执行完错误处理,代码继续执行。如果该段代码能够执行,不会进入异常处理;直接执行错误处理后面的代码。
2.1 简单的捕获异常

try:# 不能确定正确执行的代码num=int(input("请输入一个整数"))
except:# 错误处理代码print("请输入正确的整数")
print("-"*50)

3.依据错误类型捕获异常

可能出现的错误布置一种,要求依据不同的错误采取不同的处理方式。Python解释器抛出错误信息的最后一行第一个单词表示具体错误类型,写在 except后面,这样处理,使得程序不会应为错误而终止运行。

try:# 提示用户输入整数num = int(input("输入整数"))# 使用8除以用户输入的整数result=8/numprint(result)
except ValueError:print("值错误")
except ZeroDivisionError:print("除0错误")

4.捕获未知错误

未知错误:在程序开发时没有预先预料到的错误。

try:# 提示用户输入整数num = int(input("输入整数"))# 使用8除以用户输入的整数result=8/numprint(result)
except ValueError:print("值错误")
except Exception as result:print("未知错误 %s" % result)

5.异常捕获的完整语法

try:# 提示用户输入整数num = int(input("输入整数"))# 使用8除以用户输入的整数result=8/numprint(result)
except ValueError:print("值错误")
except Exception as result:print("未知错误 %s" % result)
else:#不发生错误会执行print("尝试成功")
finally:print("无论是否异常都会执行")
#发不发生异常都会执行的代码
print("-"*50)

6.异常传递

函数或者方法执行出现异常,会将异常传递给函数/方法调用一方;如果传递到主函数,仍然没有异常 处理,程序会被终止。

实际应用:每个函数内都要编写try 语句,十分繁杂。# 利用异常的传递性,在主程序中捕获异常,提高代码的完整性。

try:
def demo1():return int(input("输入整数:"))def demo2():return demo1()#利用异常的传递性,在主程序中捕获异常
try:print(demo2())
except Exception as result:print("未知错误%s" % result)

7.主动抛出异常

自己开发程序,能够主动抛出异常提示信息呢:用户输入密码,满足密码长度需求,程序继续运行;密码长度小于指定长度,输出长度不够的提示(主动抛出异常)。抛出异常后,由其他函数捕获异常。

1.创建Exception对象
2.使用raise抛出异常对象

def InputPassword():# 1.提示输入密码pwd=input("请输入密码:")# 2.判断密码长度if len(pwd)>=8:return pwd# 3.如果长度小于8,主动抛出错误print("主动抛出异常")# 1>创建异常对象,可以使用错误信息字符串作为参数ex=Exception("密码长度不够")# 2>主动抛出异常raise extry:print(InputPassword())
except Exception as result:print(result)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

词嵌入初探

文章目录目录1.词嵌入产生的背景1.1 NLP关键:语言的表示1.2 NLP词的表示方法类型1.2.1 独热表示one-hot1.2.2 词的分布式表示distributed representation1.3 NLP中的语言模型1.4 词的分布表示1.4.1 基于矩阵的分布表示1.4.2 基于聚类的分布表示1.4.3 基于神经网络的…

Pytorch(5)-梯度反向传播

自动求梯度1. 函数对自变量x求梯度--ax^2b2. 网络对参数w求梯度- loss(w,x)3. 自动求梯度的底层支持--torch.autograd3.1 Variable3.1.1 Variable构造函数3.1.2 Variable链式求导--backward()3.1.3 Variable反向传播函数--grad_fn3.2 计算图3.2.1 动态创建计算图3.2.2 非叶子节…

VIM使用系列之一——配置VIM下编程和代码阅读环境

作者:gnuhpc from http://blog.csdn.net/gnuhpc http://gnuhpc.wordpress.com/ 本文环境:ubuntu 10.10/vim7.2 前言:一年前写过一篇关于VIM的C/C编程环境的文字,一年中又接触了很多东西,深入使用中发现其实还是需要有…

fastText初探

目录:1、应用场景2、优缺点3、FastText的原理4、FastText词向量与word2vec对比 目录: 1、应用场景 fastText是一种Facebook AI Research在16年开源的一个文本分类器。 其特点就是fast。相对于其它文本分类模型,如SVM,Logistic …

mpiBlast安装详解以及使用说明

Getting mpiblast 现在下载包文件: wget http://www.mpiblast.org/downloads/files/mpiBLAST-1.6.0-pio.tgz 解压包文件: tar xvzf mpiBLAST*.tgz 然后下载ncbi: wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/old/20061015/ncbi.tar.gz…

Pytorch(6)-设置随机种子,复现模型结果

设置随机种子,复现模型结果1.Python本身的随机因素2.numpy随机因素3.pytorch随机因素在很多情况下,我们希望能够复现实验的结果。为了消除程序中随机因素的影响,我们需要将随机数的种子固定下来。将所有带随机因素的种子全部固定下来后&#…

如何让自己学习?

阶段性反馈机制(如何持之以恒、让自己发疯) 反馈机制是王者荣耀的核心武器,击杀野怪获得金币,不断地努力,获得奖励是我们不断的玩这个游戏的主要原因,也是人的本能,我什么都得不到凭什么这么做&…

追女孩子必备

当然,首先要知道女孩子的手机号码。 其次,要对她有兴趣啦。 发个短信:“上次跟你聊天很愉快,能否再次邀你出来聊聊天?” 注意:女孩子答应的话,要找的地点是个比较清静的酒吧,暂时别去…

python中使用“if __name__ == '__main__'”语句的作用

首先用最简洁的语言来说明一下 if __name__ __main__: 的作用:防止在被其他文件导入时显示多余的程序主体部分。 先举个例子,如果不用if __name__ __main__: 会发生什么事: 首先在yy.py中调用cs.py #yy.pyimport csprint(引用cs)cs.cs()p…

bishi

鄙视 2011-04-26 20:43:02| 分类:默认分类 |字号订阅腾讯笔试题:const的含义及实现机制 const的含义及实现机制,比如:const int i,是怎么做到i只可读的? const用来说明所定义的变量是只读的。 这些在编译期间完成&…

NLP复习资料(1)-绪论、数学基础

NLP复习资料-绪论、数学基础1.绪论2.数学基础2.1信息论基础:2.2应用实例:词汇消歧国科大,宗老师《自然语言处理》课程复习笔记,个人整理,仅供参考。1.绪论 1. 语言学、计算语言学、自然语言理解、自然语言…

redis——sentinel

什么是哨兵机制 Redis的哨兵(sentinel) 系统用于管理/多个 Redis 服务器,该系统执行以下三个任务: 监控: 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。 提醒:当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他…

珍藏

http://www.cnblogs.com/leoo2sk/archive/2011/04/19/nginx-module-develop-guide.html http://ldl.wisplus.net/page/6/

FM,FFM及其实现

在推荐系统和计算广告业务中,点击率CTR(click-through rate)和转化率CVR(conversion rate)是衡量流量转化的两个关键指标。准确的估计CTR、CVR对于提高流量的价值,增加广告及电商收入有重要的指导作用。业界…

linux-在cenos上安装大全(nginx/JRE/maven/Tomcat/MYSQL/redis/kafka/es...)

云服务器 阿里云 腾讯云 七牛云 百度云 天翼云 华为云 西部数码 自己购买一个,学生和企业用户都有优惠的。 putty 自己下载一个putty,用来操作云服务器。 putty.org 一路下一步就ok。 点击putty.exe,输入你的ip或域名 最好改成20&#xff1…

NLP复习资料(2)-三~五章:形式语言、语料库、语言模型

NLP复习资料-三~五章1.第三章:形式语言2.第四章:语料库3.第五章:语言模型国科大,宗老师《自然语言处理》课程复习笔记,个人整理,仅供参考。1.第三章:形式语言 1.语言描述的三种途径&#xff1a…

存储管理的页面置换算法

存储管理的页面置换算法 存储管理的页面置换算法在考试中常常会考到,操作系统教材中主要介绍了3种常用的页面置换算法,分别是:先进先出法(FIFO)、最佳置换法(OPT)和最近最少使用置换法&#xff…

KKT条件初步理解

最近学习的时候用到了最优化理论,但是我没有多少这方面的理论基础。于是翻了很多大神的博客把容易理解的内容记载到这篇博客中。因此这是篇汇总博客,不算是全部原创,但是基础理论,应该也都差不多吧。因才疏学浅,有纰漏…

NLP复习资料(3)-六~七章:马尔科夫模型与条件随机场、词法分析与词性标注

NLP复习资料1.第六章 马尔科夫模型与条件随机场2.第七章 词法分析与词性标注国科大,宗老师《自然语言处理》课程复习笔记,个人整理,仅供参考。1.第六章 马尔科夫模型与条件随机场 1.马尔科夫模型:P6系统每一时刻的状态只与前一个…

redis——实战点赞

点赞功能随处可见,我们都知道点赞是一个非常高频的操作,redis就非常适合做这种工作。 实现效果: 分析:三种类型:给帖子点赞,给评论点赞,给回复点赞 我们只实现查看点赞数量的话,只…