当写程序时遇到异常时,想进行一些异常处理,一般可以执行全量异常处理,如下:
try:
语句1
语句2
.
语句N
except .........:
print .......
由于出现异常的是语句1至语句N中间的一步,因此想把出现的异常打印出来,并不停止程序的运行,至少3个方法:
方法一:捕获所有异常
try:
a=b
b=c
except Exception,ex:
print Exception,":", ex
方法二:采用traceback模块查看异常
import traceback
try:
a=b
b=c
except:
traceback.print_exc()
方法三:采用sys模块回溯最后的异常
import sys
try:
a=b
b=c
except:
info=sys.exc_info()
print info[0],":", info[1]
也可以异常保存到一个日志文件中,例如把traceback.print_exc()打印保存到一个文本文件中
try:
a=b
b=c
except:
f=open("c:log.txt",'a')
traceback.print_exc(file=f)
f.flush()
f.close()