我需要實現一個atexit
Python函數,它將獲取最後一個錯誤對象並檢查它的類型。如果python錯誤的類型對應於PHP的E_ERROR
,我應該將錯誤的輸出保存到一個文件中。什麼是PHP的error_get_last()函數的Python替代品?
的PHP代碼我移植看起來像這樣:
register_shutdown_function("fatal_handler");
function fatal_handler() {
$error = error_get_last();
if ($error != null && $error['type'] === E_ERROR)
echo "recordFatalError: {$error['message']}\n";
}
我的代碼卡如下:
def fatal_handler():
# How to get last error object?
atexit.register(fatal_handler)
我會很高興,如果有人解釋我怎樣才能獲得必要的Python的功能。
的問題,這種做法是'sys.last_value'只有當錯誤已經發生了被引用,而這並不總是正確使用'atexit'功能。另外我還需要一個類型的異常,不僅是值('sys.last_type')。 – ddnomad
@ddnomad找到任何對象的類型是很簡單的,例如使用'type'。還有'sys.last_type'可用。 – vaultah
但我對避免嘗試/除外'塊檢查這些值是否存在的其他可能方式感興趣。 – ddnomad