我需要实现一个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