Python使用try except处理程序异常的三种常用方法分析


Posted in Python onSeptember 05, 2018

本文实例讲述了Python使用try except处理程序异常的三种常用方法。分享给大家供大家参考,具体如下:

如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序:

try:
  语句1
  语句2
  .
  .
  语句N
except .........:
  do something .......

但是你并不知道"语句1至语句N"在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所以在"except ......"这句应怎样来写呢?

总结了一下3个方法:

方法一:捕获所有异常

try:
  a=b
  b=c
except Exception,e:
  print Exception,":",e

测试结果:

<type 'exceptions.Exception'> : name 'b' is not defined

方法二:采用traceback模块查看异常

#引入python中的traceback模块,跟踪错误
import traceback
try:
  a=b
  b=c
except:
  traceback.print_exc()

方法三:采用sys模块回溯最后的异常

#引入sys模块
import sys
try:
  a=b
  b=c
except:
  info=sys.exc_info()
  print info[0],":",info[1]

运行结果:

<type 'exceptions.NameError'> : name 'b' is not defined

但是,如果你还想把这些异常保存到一个日志文件中,来分析这些异常,那么请看下面的方法:

把 traceback.print_exc() 打印在屏幕上的信息保存到一个文本文件中

import traceback
try:
  a=b
  b=c
except:
  f=open("c:\log.txt",'a')
  traceback.print_exc(file=f)
  f.flush()
  f.close()

此时C盘根目录下生成一个log.txt文件,内容如下:

Traceback (most recent call last):
  File "C:\py\3waterPyDemo\src\Demo\test.py", line 3, in <module>
    a=b
NameError: name 'b' is not defined

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python多线程操作实例
Nov 21 Python
Python创建xml的方法
Mar 10 Python
Python多线程和队列操作实例
Jun 21 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
Python实现合并两个有序链表的方法示例
Jan 31 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
django框架两个使用模板实例
Dec 11 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
Jan 12 Python
Python入门之基础语法详解
May 11 Python
python使用__slots__让你的代码更加节省内存
Sep 05 #Python
Python中__slots__属性介绍与基本使用方法
Sep 05 #Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 #Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 #Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 #Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 #Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 #Python
You might like
用PHP开发GUI
2006/10/09 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
php的curl实现get和post的代码
2008/08/23 PHP
php仿discuz分页效果代码
2008/10/02 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
js性能优化技巧
2015/11/29 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
简单了解python中对象的取反运算符
2019/07/01 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
Django中的session用法详解
2020/03/09 Python
python如何写try语句
2020/07/14 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
淘宝活动策划方案
2014/02/06 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
五年级作文之想象作文
2019/10/30 职场文书
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL