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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
Python、Javascript中的闭包比较
Feb 04 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
python GUI实例学习
Nov 21 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
python通过zabbix api获取主机
Sep 17 Python
简单了解python中对象的取反运算符
Jul 01 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
通过实例解析python and和or使用方法
Nov 14 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
Jan 15 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获取随机数字和字母的方法详解
2013/06/06 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
js document.write()使用介绍
2014/02/21 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
python查询mysql中文乱码问题
2014/11/09 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
财务管理专业推荐信
2013/11/19 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
专业技术职务聘任证明
2015/03/02 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS