Python:sys模块的excepthook()函数(例外的堆栈追踪6)
2018-11-04 11:55
204 查看
[code]""" 1.对于一个未匹配到的例外,python解释器最后会调用sys.excepthook()并传入3个自变量:例外类型、例外实例 和traceback对象,也就是sys.exc_info()返回元组中的3个值。默认显示相关例外的追踪信息。 2.如果想自定义sys.excepthook()被调用时的行为,可以自定义一个接受3个自变量的函数给sys.excepthook。 """ import time,sys def m(): return 1 / 0 def n(): m() def p(): n() def myExcepthook(ttype,tvalue,ttraceback): print("例外类型:{}".format(ttype)) print("例外对象:{}".format(tvalue)) i = 1 while ttraceback: print("第{}层堆栈信息".format(i)) tracebackCode = ttraceback.tb_frame.f_code print("文件名:{}".format(tracebackCode.co_filename)) print("函数或者模块名:{}".format(tracebackCode.co_name)) ttraceback = ttraceback.tb_next i += 1 if __name__ == '__main__': sys.excepthook = myExcepthook p() time.sleep(3) print("继续执行")
阅读更多
相关文章推荐
- Python:traceback模块的print_tb()函数(例外的堆栈追踪4)
- Python:traceback模块的format_tb()函数(例外的堆栈追踪5)
- Python:traceback模块的print_exc()函数(例外的堆栈追踪2)
- Python:traceback模块的format_exc()函数(例外的堆栈追踪3)
- Python---sys模块常用函数
- python中使用sys模板和logging模块获取行号和函数名的方法
- python中使用sys模板和logging模块获取行号和函数名的方法
- python中使用sys模板和logging模块获取行号和函数名的方法
- Python Re模块 常用函数
- python的sys模块介绍
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- linux下追踪函数调用堆栈backtrace
- win7环境下python PIL Image模块 show函数不能正常显示图片
- python中doctest自我测试(测试模块中的函数是否对)
- 2.24 学python os模块 sys模块 hashlib模块 logging模块
- python入门:关于堆操作的一个模块heapq及其函数
- 【python】python re模块中几个比较重要的函数
- Python 函数、文件与模块
- Python学习笔记(三)函数、面向对象、模块发布
- Python的模块与函数以及与自动化的结合