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中对列表排序实例
Jan 04 Python
深入理解python try异常处理机制
Jun 01 Python
Python登录并获取CSDN博客所有文章列表代码实例
Dec 28 Python
理论讲解python多进程并发编程
Feb 09 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
python3使用GUI统计代码量
Sep 18 Python
python配置文件写入过程详解
Oct 19 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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
APMServ使用说明
2006/10/23 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
Django发送html邮件的方法
2015/05/26 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python中正则表达式与模式匹配
2019/05/07 Python
python实现超市商品销售管理系统
2019/10/25 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
python能做哪些生活有趣的事情
2020/09/09 Python
Django如何重置migration的几种情景
2021/02/24 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
办公室文员岗位职责范本
2014/06/12 职场文书
运动会演讲稿300字
2014/08/25 职场文书
优秀团队申报材料
2014/12/26 职场文书
六年级学生评语大全
2014/12/26 职场文书
教师党员个人总结
2015/02/10 职场文书
八一建军节主持词
2015/07/01 职场文书
如何撰写促销方案?
2019/07/05 职场文书
导游词之吉林花园山
2019/10/17 职场文书
Python Pandas知识点之缺失值处理详解
2021/05/11 Python