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生成随机密码或随机字符串的方法
Jul 03 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
python实现实时监控文件的方法
Aug 26 Python
对python中两种列表元素去重函数性能的比较方法
Jun 29 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
python实现贪吃蛇游戏
Mar 21 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
基于Python绘制个人足迹地图
Jun 01 Python
python操作redis数据库的三种方法
Sep 10 Python
sklearn中的交叉验证的实现(Cross-Validation)
Feb 22 Python
Python开发五子棋小游戏
May 02 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 echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
3种方法轻松处理php开发中emoji表情的问题
2016/07/18 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
微信小程序组件 marquee实例详解
2017/06/23 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
Flask框架配置与调试操作示例
2018/07/23 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
装潢设计实习自我鉴定
2013/09/19 职场文书
好人好事事迹材料
2014/02/12 职场文书
市场专员岗位职责
2014/02/14 职场文书
安全责任协议书
2014/04/21 职场文书
工程质量保证书
2015/05/09 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL