Python中處理unchecked未捕獲異常實例
Talk Is Cheap
和Java一樣,python也提供了對于checked exception和unchecked exception. 對于checked exception,我們通常使用try except可以顯示解決,對于unchecked 異常,其實也是提供回調或者是鉤子來幫助我們處理的,我們可以在鉤子里面記錄崩潰棧追蹤或者發(fā)送崩潰數(shù)據.
下面代碼可以實現(xiàn)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的日志管理模塊輸出格式化的異常信息.
相關文章
pyinstaller打包python3.6和PyQt5中各種錯誤的解決方案匯總
pyinstaller是打包python很方便的一個套件,我們可以很輕易地使用他,下面這篇文章主要給大家介紹了關于pyinstaller打包python3.6和PyQt5中各種錯誤解決的相關資料,需要的朋友可以參考下2022-08-08
關于Pycharm安裝第三方庫超時 Read time-out的問題
這篇文章主要介紹了關于Pycharm安裝第三方庫超時 Read time-out的問題, 找了幾個命令都不是很好用,最后找到解決的步驟,感興趣的朋友跟隨小編一起看看吧2021-10-10

