Rolf B: Fatal error: Uncaught Error: Call to a member function add()

Beitrag lesen

Hallo pl,

ab PHP 7 geht das Folgende. In PHP 5 ging es noch nicht.

try
{
   $start = FALSE;
   $start->add(3);
}
catch (Error $e) {
    echo "Autsch!";
}

Man muss explizit Error (oder Throwable) in die catch-Klausel schreiben, mit Exception oder ErrorException fängt man das nicht (sowohl Error als auch Exception implementieren Throwable, stehen aber untereinander in keiner Vererbungsbeziehung).

Also ja, du hast recht, es wird was geworfen, aber nein, es ist ein Error und keine Exception.

Natürlich könnte man noch in das Main-Script einen fetten try/catch (Error...) legen, um solche Fatal Errors nicht auf's UI durchschlagen zu lassen und zu loggen. Aber dafür hat PHP meines Wissens noch andere Mittel, und man löst damit das akute Problem nicht.

Rolf

--
sumpsi - posui - clusi