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的日志管理模塊輸出格式化的異常信息.
相關文章
Python實現(xiàn)讀取SQLServer數(shù)據并插入到MongoDB數(shù)據庫的方法示例
這篇文章主要介紹了Python實現(xiàn)讀取SQLServer數(shù)據并插入到MongoDB數(shù)據庫的方法,涉及Python同時進行SQLServer與MongoDB數(shù)據庫的連接、查詢、讀取、寫入等相關操作實現(xiàn)技巧,需要的朋友可以參考下2018-06-06python opencv鼠標事件實現(xiàn)畫框圈定目標獲取坐標信息
這篇文章主要為大家詳細介紹了python opencv鼠標事件實現(xiàn)畫框圈定目標,獲取坐標信息,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08Python中NumPy的線性代數(shù)子模塊linalg詳解
這篇文章主要介紹了Python中NumPy的線性代數(shù)子模塊linalg詳解,NumPy 的線性代數(shù)子模塊linalg提供了 20 余個函數(shù),用于求解行列式、逆矩陣、特征值、特征向量,以及矩陣分解等,需要的朋友可以參考下2023-08-08