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编程实现二叉树及七种遍历方法详解
Jun 02 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
Python中print函数简单使用总结
Aug 05 Python
Django之编辑时根据条件跳转回原页面的方法
Aug 21 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
解决pytorch 保存模型遇到的问题
Mar 03 Python
浅谈Python基础之列表那些事儿
May 11 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
python使用pymysql模块操作MySQL
Jun 16 Python
Python echarts实现数据可视化实例详解
Mar 03 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对大文件进行读取操作的实现代码
2013/01/23 PHP
10 个经典PHP函数
2013/10/17 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
js异常捕获方法介绍
2013/04/10 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
python paramiko实现ssh远程访问的方法
2013/12/03 Python
玩转python爬虫之正则表达式
2016/02/17 Python
Python 基础教程之包和类的用法
2017/02/23 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
django框架ModelForm组件用法详解
2019/12/11 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
高中学校对照检查材料
2014/08/31 职场文书
考研英语复习计划
2015/01/19 职场文书
党员评议自我评价
2015/03/03 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
公司新员工欢迎词
2015/09/30 职场文书
初二数学教学反思
2016/02/17 职场文书