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实现设置windows桌面壁纸代码分享
Mar 28 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
python实现推箱子游戏
Mar 25 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
python中字典增加和删除使用方法
Sep 30 Python
利用python调用摄像头的实例分析
Jun 07 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 fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php递归函数中使用return的注意事项
2014/01/17 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
document.getElementBy("id")与$("#id")有什么区别
2013/09/22 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
js创建数组的简单方法
2016/07/27 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
详解Vue之计算属性
2020/06/20 Javascript
python中cPickle用法例子分享
2014/01/03 Python
python实现从ftp服务器下载文件的方法
2015/04/30 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
高级Java程序员面试题
2016/06/23 面试题
2013年大学生的自我鉴定
2013/10/24 职场文书
房屋改造计划书
2014/01/10 职场文书
租赁意向书范本
2014/04/01 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2015年党建工作总结
2015/03/30 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
七年级数学教学反思
2016/02/17 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
golang json数组拼接的实例
2021/04/28 Golang