Python中處理unchecked未捕獲異常實(shí)例
Talk Is Cheap
和Java一樣,python也提供了對(duì)于checked exception和unchecked exception. 對(duì)于checked exception,我們通常使用try except可以顯示解決,對(duì)于unchecked 異常,其實(shí)也是提供回調(diào)或者是鉤子來(lái)幫助我們處理的,我們可以在鉤子里面記錄崩潰棧追蹤或者發(fā)送崩潰數(shù)據(jù).
下面代碼可以實(shí)現(xiàn)python unchecked exception回調(diào),并輸出日志信息.
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")
相關(guān)解釋
1.上述忽略處理終端下鍵盤按Ctrl + C 終止異常.
2.上述使用python的日志管理模塊輸出格式化的異常信息.
相關(guān)文章
pyinstaller打包python3.6和PyQt5中各種錯(cuò)誤的解決方案匯總
pyinstaller是打包python很方便的一個(gè)套件,我們可以很輕易地使用他,下面這篇文章主要給大家介紹了關(guān)于pyinstaller打包python3.6和PyQt5中各種錯(cuò)誤解決的相關(guān)資料,需要的朋友可以參考下2022-08-08
python使用在線API查詢IP對(duì)應(yīng)的地理位置信息實(shí)例
這篇文章主要介紹了python使用在線API查詢IP對(duì)應(yīng)的地理位置信息實(shí)例,需要的朋友可以參考下2014-06-06
一文詳解Python三引號(hào)(“““)的五個(gè)神奇用法
今天我們來(lái)聊一聊 Python 中的一個(gè)神奇字符——三引號(hào)("""),三引號(hào)"""不僅僅是用來(lái)定義多行字符串的簡(jiǎn)單工具,它還隱藏著許多令人驚嘆的用途,感興趣的小伙伴跟著小編一起來(lái)看看吧2025-04-04
PyCharm安裝庫(kù)numpy失敗問(wèn)題的詳細(xì)解決方法
今天使用pycharm編譯python程序時(shí),由于要調(diào)用numpy包,但又未曾安裝numpy,于是就根據(jù)pycharm的提示進(jìn)行安裝,最后竟然提示出錯(cuò),下面這篇文章主要給大家介紹了關(guān)于PyCharm安裝庫(kù)numpy失敗問(wèn)題的詳細(xì)解決方法,需要的朋友可以參考下2022-06-06
關(guān)于Pycharm安裝第三方庫(kù)超時(shí) Read time-out的問(wèn)題
這篇文章主要介紹了關(guān)于Pycharm安裝第三方庫(kù)超時(shí) Read time-out的問(wèn)題, 找了幾個(gè)命令都不是很好用,最后找到解決的步驟,感興趣的朋友跟隨小編一起看看吧2021-10-10

