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实现rest请求api示例
Apr 22 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
对python Tkinter Text的用法详解
Oct 11 Python
Python 日志logging模块用法简单示例
Oct 18 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
python中提高pip install速度
Feb 14 Python
基于python3生成标签云代码解析
Feb 18 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
Django框架实现在线考试系统的示例代码
Nov 30 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 压缩文件夹的类代码
2009/11/05 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
php输出图像的方法实例分析
2017/02/16 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
python实现斐波那契数列的方法示例
2017/01/12 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
python 搜索大文件的实例代码
2019/07/08 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
学校食品安全实施方案
2014/06/14 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
迎国庆横幅标语
2014/10/08 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
自主招生自荐信格式
2015/03/04 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis