Python异常的检测和处理方法


Posted in Python onOctober 26, 2018

捕获异常

# 对数字变量使用append操作
a = 123
a.apppend(4)

执行这个程序时,会抛出:

AttributeError: 'int' object has no attribute 'apppend'

我们使用try:except语句进行捕获。

# 捕获异常
a = 123
try:
  a.apppend(4)
except AttributeError:
   print("数字类型不能使用append操作")

输出结果如下:

数字类型不能使用append操作

捕获多个异常

# 捕获异常
a = 123
try:
  # a.apppend(4)
  print(1/0)
except AttributeError:
   print("数字类型不能使用append操作")
except ZeroDivisionError:
   print("0不能作为除数")

输出结果:

0不能作为除数

当然也可以类似JDK1.7那样,把异常放置到一起。

# 捕获异常
a = 123
try:
  a.apppend(4)
  # print(1/0)
except (AttributeError,ZeroDivisionError) as e:
   print("出现错误 %s" %e)

把异常类型放置到一个元祖里面,如果想打印具体的异常信息,可以将异常信息重新命名,然后打印出来。

输出结果如下:

出现错误 'int' object has no attribute 'apppend'

使用Exception捕获所有异常

# 捕获异常
a = 123
try:
  print(1/'kk')
except Exception as e:
   print("出现错误 %s" %e)

统一用Exception进行捕获,输出结果如下:

出现错误 unsupported operand type(s) for /: 'int' and 'str'

自定义异常

# 捕获异常
a = 123
try:
  if a == 123:
    raise NameError("a是不能等于123的哦")
except NameError as e:
   print("出现错误 %s" %e)

可以使用raise关键字和NameError,输出结果如下:

出现错误 a是不能等于123的哦

finally语句

try:
  print(1/0)
except Exception as e:
   print("出现错误 %s" %e)
finally:
   print("执行finally")

执行结果如下:

出现错误 division by zero
执行finally

说明就算抛出了一次,finally语句仍然会被执行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python统计列表中的重复项出现的次数的方法
Aug 18 Python
如何将python中的List转化成dictionary
Aug 15 Python
python实现多线程抓取知乎用户
Dec 12 Python
Django 如何获取前端发送的头文件详解(推荐)
Aug 15 Python
python中如何使用正则表达式的非贪婪模式示例
Oct 09 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
java中的控制结构(if,循环)详解
Jun 26 Python
python爬取盘搜的有效链接实现代码
Jul 20 Python
Python request操作步骤及代码实例
Apr 13 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
Python subprocess库的使用详解
Oct 26 #Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 #Python
Python分割指定页数的pdf文件方法
Oct 26 #Python
python 将json数据提取转化为txt的方法
Oct 26 #Python
python读取TXT每行,并存到LIST中的方法
Oct 26 #Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 #Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 #Python
You might like
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
PHP类的封装与继承详解
2015/09/29 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
php 可变函数使用小结
2018/06/12 PHP
jquery下checked取值问题的解决方法
2012/08/09 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
python 类之间的参数传递方式
2019/12/20 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
python输入中文的实例方法
2020/09/14 Python
利用python实现汉诺塔游戏
2021/03/01 Python
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
服装设计行业个人的自我评价
2013/12/20 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
2014年党支部承诺书
2014/05/30 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
收费员岗位职责
2015/02/14 职场文书
舞出我人生观后感
2015/06/16 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书