概述
这是一个完整的小示例,其中还包括其他一些技巧:
import sys
import logging
logger = logging.getLogger(__name__)
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
def handle_exception(exc_type, exc_value, exc_traceback):
if issubclass(exc_type, KeyboardInterrupt):
sys.__excepthook__(exc_type, exc_value, exc_traceback)
return
logger.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
sys.excepthook = handle_exception
if __name__ == "__main__":
raise RuntimeError("Test unhandled")
忽略KeyboardInterrupt,以便控制台python程序可以使用Ctrl + C退出。
完全依靠python的日志记录模块来格式化异常。
将自定义记录器与示例处理程序一起使用。这将未处理的异常更改为转到stdout而不是stderr,但是您可以将具有相同样式的各种处理程序添加到logger对象。
最后
以上就是舒适柠檬为你收集整理的python异常捕获_在Python中记录未捕获的异常的全部内容,希望文章能够帮你解决python异常捕获_在Python中记录未捕获的异常所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复