Python中处理unchecked未捕获异常实例
Talk Is Cheap
和Java一样,python也提供了对于checked exception和unchecked exception. 对于checked exception,我们通常使用try except可以显示解决,对于unchecked 异常,其实也是提供回调或者是钩子来帮助我们处理的,我们可以在钩子里面记录崩溃栈追踪或者发送崩溃数据.
下面代码可以实现python unchecked exception回调,并输出日志信息.
Show Me The Code
#!/usr/bin/env python
# coding=utf-8
import os, 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 Exception")
相关解释
1.上述忽略处理终端下键盘按Ctrl + C 终止异常.
2.上述使用python的日志管理模块输出格式化的异常信息.
相关文章
Python进程崩溃AttributeError异常问题解决
这篇文章主要介绍了Python进程崩溃(AttributeError异常)问题解决,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下方法2023-06-06关于Python使用logging库进行有效日志管理的方法详解
在开发大型软件或处理复杂问题时,我们经常需要一种方法来记录和跟踪程序的运行状态,Python 提供了一个名为 logging 的标准库,可以帮助我们更好地完成这项任务,在这篇文章中,我们将介绍如何使用 Python 的 logging 库进行日志记录2023-06-06
最新评论