Fundamental
一切来源于:sys.exc_info
返回一个元组->三个对象,异常类型,异常值,tb对象->tb对象包含位置信息。
def func(a, b):
return a / b
if __name__ == '__main__':
import sys
import traceback
try:
func(1, 0)
except:
_, _, exc_tb = sys.exc_info()
for filename, lineno, func, source in traceback.extract_tb(exc_tb):
print "%-23s:%s '%s' in %s()" % (filename, lineno, source, func)
traceback模板
几个常用函数:
print_exc:直接打印异常
format_exc:返回字符串
extract_tb:格式化tb对象,这个比较常用,格式化成自己想要的格式。
参考:http://blog.csdn.net/lengxingxing_/article/details/56317838