Heim  >  Artikel  >  Backend-Entwicklung  >  Ausnahmebehandlung – Hinweise zum PHP-Handbuch

Ausnahmebehandlung – Hinweise zum PHP-Handbuch

WBOY
WBOYOriginal
2016-08-08 09:28:491034Durchsuche

Im PHP-Code generierte Ausnahmen können von der throw-Anweisung ausgelöst und von der catch-Anweisung erfasst werden. Code, der eine Ausnahmebehandlung erfordert, muss innerhalb des try-Codeblocks platziert werden, und jeder try muss mindestens ein entsprechendes catch haben. Wenn eine Ausnahme ausgelöst wird, wird der Code nach dem Codeblock nicht weiter ausgeführt. Zu diesem Zeitpunkt versucht PHP, das erste passende catch zu finden. Natürlich erlaubt PHP, dass catch-Ausnahmen innerhalb eines throw-Codeblocks erneut ausgelöst werden. Wenn eine Ausnahme nicht abgefangen und mit set_exception_handler() entsprechend behandelt wird, generiert PHP einen schwerwiegenden Fehler.

Hier ist ein Beispiel für die Verwendung von Ausnahmen.

<code><?php
function inverse($x) {
    if(!$x) {
        throw new Exception(&#39;Division by zero.&#39;);
    } else {
        return 1 / $x;
    }
}
try {
    echo inverse(5) . &#39;<br>';
    echo inverse(0) . '<br>';
} catch(Exception $e) {
    echo 'Caught exception: ' . $e->getMessage() . '<br>';
}
echo 'hello';</code>

Es gibt auch ein Beispiel für verschachtelte Ausnahmen.

<code><?php
class MyException extends Exception {}
class Test {
    public function testing() {
        try {
            try {
                throw new MyException(&#39;foo.&#39;);
            } catch(MyException $e) {
                throw $e;
            }
        } catch(Exception $e) {
            var_dump($e->getMessage());
        }
    }
}
$foo = new Test;
$foo->testing();</code>

Benutzer können die in PHP integrierten Ausnahmebehandlungsklassen durch benutzerdefinierte Ausnahmebehandlungsklassen erweitern.

(Volltext beendet)

Das Obige stellt die Ausnahmebehandlung vor – Hinweise zum PHP-Handbuch, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn