Ich benutze meine eigene einfache Fehlerbehandlung und kann tatsächlich fangen & alles, was ich brauche. Aber jetzt muss ich einen Fehler mit try{}catch(){}
fangen. Der Fehler, den ich manchmal an dieser Stelle vermute, ist der Fehler "Call to undefined method". Ich kann es so fangen:Wie fangen Sie den Fehler "Aufruf an undefinierte Methode" in PHP 7?
try {
$someObject->someMethodTheObjectDoesntProvide();
} catch (Error $e) {
// do something else
}
Aber die Error
Klasse in der catch
Klausel ist ein wenig zu allgemein gehalten. Ich möchte nur diese Art von Fehler abfangen.
Gibt es eine Möglichkeit, das Fangen auf einen bestimmten "Typ" von Fehlern zu beschränken?
Ohne strpos($errorMessage)
mit ...;)
Nein, nur verschiedene Fehler/Ausnahmeklassen; und das ist nur eine generische 'Error' Klasse –
Ich bin mir nicht sicher, ob' __call() 'Aufrufe auf nicht existierende Methoden (oder nur auf nicht zugreifbare Methoden) abfängt, und erlaubt Ihnen, eine benutzerdefinierte Ausnahme zu werfen, die könnte dann gefangen werden und anders als andere Fehler übergeben –
Sie wollen wahrscheinlich jeden Fehler, der passiert, nicht nur einen bestimmten zu fangen. Aber Sie könnten eine bestimmte Aktion in Ihrem 'catch' Block basierend auf dem Typ des Fehlers ausgelöst – WillardSolutions