处理Python未捕获异常,,本文转载自:技术小黑
处理Python未捕获异常,,本文转载自:技术小黑
本文转载自:技术小黑屋
和Java一样,python也提供了对于checked exception和unchecked exception. 对于checked exception,我们通常使用try except可以显示解决,对于unchecked 异常,其实也是提供回调或者是钩子来帮助我们处理的,我们可以在钩子里面记录崩溃栈追踪或者发送崩溃数据.
下面代码可以实现python unchecked exception回调,并输出日志信息.
#!/usr/bin/envpython#coding=utf-8importos,sysimportlogginglogger=logging.getLogger(__name__)handler=logging.StreamHandler(stream=sys.stdout)logger.addHandler(handler)defhandle_exception(exc_type,exc_value,exc_traceback):ifissubclass(exc_type,KeyboardInterrupt):sys.__excepthook__(exc_type,exc_value,exc_traceback)returnlogger.error("Uncaughtexception",exc_info=(exc_type,exc_value,exc_traceback))sys.excepthook=handle_exceptionif__name__=="__main__":raiseRuntimeError("TestunhandledException")
相关解释
上述忽略处理终端下键盘按Ctrl + C 终止异常.
上述使用python的日志管理模块输出格式化的异常信息.
参考文章
http://stackoverflow.com/questions/6234405/logging-uncaught-exceptions-in-python/16993115#16993115
处理Python未捕获异常,布布扣,bubuko.com
处理Python未捕获异常
评论关闭