Hallo Leute,
Ich möchte in meinem Installer für meine Website (DB und so) alle Fehler abfangen und entsprechend reagieren.
Grund dafür ist, dass die Installation über JQuery immer wieder den nächsten Schritt anstößt und so die Seite nicht neugeladen werden muss und dabei trotzdem eine Nutzer-Interaktion möglich ist.
Funktioniert soweit, wenn nun aber (wie aktuell in der Entwicklungsphase) dabei Fehler auftreten, passiert einfach nichts mehr, da die Funktion $.getJSON() eben JSON als Rückgabe erwartet...
Client-Seitig passiert im Fehlerfall einfach nichts.
Ich versuche nun Fehler abzufangen (eine Datei die nur bei der Installation inkludiert wird):
Wenn ich die von JS aufgerufene Seite nun so aufrufe, sehe ich, das der Fatal Error geworfen wird UND der von mir geworfene (Die Fehlerklasse erbt einfach nur von Exception).
Ein TryCatch um die Funktion, welche die Fehlerhafte Funktion aufruft, zeigt keine Wirkung :/
Was mache ich hier verkehrt?
Ich möchte in meinem Installer für meine Website (DB und so) alle Fehler abfangen und entsprechend reagieren.
Grund dafür ist, dass die Installation über JQuery immer wieder den nächsten Schritt anstößt und so die Seite nicht neugeladen werden muss und dabei trotzdem eine Nutzer-Interaktion möglich ist.
Funktioniert soweit, wenn nun aber (wie aktuell in der Entwicklungsphase) dabei Fehler auftreten, passiert einfach nichts mehr, da die Funktion $.getJSON() eben JSON als Rückgabe erwartet...
Client-Seitig passiert im Fehlerfall einfach nichts.
Ich versuche nun Fehler abzufangen (eine Datei die nur bei der Installation inkludiert wird):
Code:
<?php register_shutdown_function( "fatal_handler" ); function fatal_handler() { $errfile = "unknown file"; $errstr = "shutdown"; $errno = E_CORE_ERROR; $errline = 0; $error = error_get_last(); echo $error["message"]; die(); if( $error !== NULL) { $errno = $error["type"]; $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; throw new fatalError("$errno in $errfile on line $errline with message $errstr"); } }
Code:
Fatal error: Call to undefined method Database\Connector::install() in C:\xampp\htdocs\cms\core\extension\Database.php on line 225 Fatal error: Uncaught exception 'fatalError' with message '1 in C:\xampp\htdocs\cms\core\extension\Database.php on line 225 with message Call to undefined method Database\Connector::install()' in C:\xampp\htdocs\cms\core\extension\FatalHandler.php:21 Stack trace: #0 [internal function]: fatal_handler() #1 {main} thrown in C:\xampp\htdocs\cms\core\extension\FatalHandler.php on line 21
Was mache ich hier verkehrt?
Kommentar