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解决汉字编码问题:Unicode Decode Error
Jan 19 Python
python 显示数组全部元素的方法
Apr 19 Python
Python基于opencv的图像压缩算法实例分析
May 03 Python
python利用微信公众号实现报警功能
Jun 10 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
Python补齐字符串长度的实例
Nov 15 Python
Python实现E-Mail收集插件实例教程
Feb 06 Python
Django实现学员管理系统
Feb 26 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 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中如何直接执行SHELL
2013/06/28 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
angular4强制刷新视图的方法
2018/10/09 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
python下MySQLdb用法实例分析
2015/06/08 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python实现二维数组输出为图片
2018/04/03 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
工业自动化毕业生自荐信范文
2014/01/04 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
《迟到》教学反思
2016/02/24 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript