Ich muss eine atexit
Python-Funktion implementieren, die das letzte Fehlerobjekt erhalten und auf seinen Typ prüfen würde. Wenn der Typ des Python-Fehlers mit E_ERROR
von PHP übereinstimmt, sollte ich die Ausgabe des Fehlers in einer Datei speichern.Was ist Python Ersatz für PHP error_get_last() Funktion?
Der PHP-Code I sieht aus wie so bin Portierung:
register_shutdown_function("fatal_handler");
function fatal_handler() {
$error = error_get_last();
if ($error != null && $error['type'] === E_ERROR)
echo "recordFatalError: {$error['message']}\n";
}
Mein Code Snap sind wie folgt:
def fatal_handler():
# How to get last error object?
atexit.register(fatal_handler)
ich froh wäre, wenn jemand mir erklären, wie kann ich die notwendige bekommen Funktionalität mit Python.
Das Problem bei diesem Ansatz ist, dass 'sys.last_value' kann nur referenziert werden, wenn der Fehler passiert ist, während es mit' atexit' Funktion nicht immer wahr. Außerdem brauche ich auch einen Typ der Ausnahme nicht nur den Wert ('sys.last_type'). – ddnomad
@ddnomad ist es trivial, den Typ eines Objekts zu finden, z.B. mit 'type'. Es ist auch 'sys.last_type' verfügbar. – vaultah
Ich interessiere mich für andere mögliche Wege zu vermeiden, "try/except" Blöcke zu überprüfen, dass diese Werte vorhanden sind. – ddnomad