Webstatt.org - Community seit 2006 - 2012 (2024?)

Fatal Error und eigener Error Handler

Avatar user-287
10.07.2007 15:16

Hallo,
Ich hab einen eigenen Error Handler, der auch ganz gut Funktioniert.
Jedoch nicht bei Fatal oder Parse Errors. Gibt es da einen Trick oder ist es einfach nicht möglich?

user-303
10.07.2007 15:24

Nunja, du könntest z.b. vor dem includen testen, ob der syntax okay ist (php -l).
Aber eine wirklich schöne Möglichkeit sehe ich nicht. Allerdings sind syntax Fehler auch eher unwarscheinlich im Live betrieb

Avatar user-287
10.07.2007 15:36

Das mit Parse error kann ich ja noch nachvollziehen, aber warum geht das nicht mit Fatal errors?

Avatar user-236
10.07.2007 18:51

naja, ich denk mal, da das script bzw. die ausführung abbricht. dann gibts nichts mehr zu catchen.... oder doch?

signature in progress
Avatar user-287
10.07.2007 22:19

http://ca3.php.net/manual/en/ref.errorfunc.php#errorfunc.constants.

wie siehts da mit E_RECOVERABLE_ERROR aus?

Avatar user-236
11.07.2007 07:22

ja, aber ich glaub das ist nur zum protokollieren.... mir fällt im moment kein trick ein. sollte jemand eine klasse haben, dann nur her damit lächeln

signature in progress
Avatar user-194
12.07.2007 18:23

Fatal errors sind fatal errors, und was nicht zu Unrecht. Die kommen meistens dann zu Stande, wenn die Engine in einem nicht definierten Zustand ist (mir fällt jetzt spontan mal Exception während Script-Shutdown ein, aka "Exception thrown without stack frame" oder so).

Andere Sprachen haben das anscheinend besser gelöst, in Python kriegt man für fast alles (oder wirklich alles? mir ist nie was anderes aufgefallen) eine schöne Exception, die man selbstverständlich auch fangen kann. Egal ob das jetzt ein Parse-Error in einem importierten Modul ist, ein (drohender) Stackoverflow bei Rekursion oder sonstwas.