python异常处理

python的异常处理

1. 使用traceback模块

异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误

下面来介绍traceback模块来进行处理,

 try:
        1/0
    except Exception, e:
        print e

输出的结果是:

integer division or modulo by zero

但是只有这个错误, 但是不知道到底是哪一行报错的, 这个时候我们可以使用traceback模块

import traceback
 try:
        1/0
    except Exception, e:
        traceback.print_exc()

输出的结果:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero

这样的异常结果就更加容易调试

2. format_exc()和print_exc()两个函数的区别

  • format_exc() 函数的返回值是一个字符串
  • print_exc(file=None) 函数是直接把异常的结果打印出来, 也支持写入到文件中

traceback.print_exc()与print format_exc()的效果是一样的

注意: traceback.print_exc(file=open('test.txt', 'w+')) print_exc把错误信息写入到test.txt中

上一篇:实现文件上下文管理(__enter__和__exit__)


下一篇:sys模块