Heim > Artikel > Backend-Entwicklung > So verwenden Sie die PHP-Try-Catch-Anweisung
In PHP kann die try-catch-Anweisung in Kombination mit dem throw-Schlüsselwort zum Abfangen von Ausnahmen im Programm verwendet werden. Ausnahmen, die im Programmcode generiert werden, können durch die try-throw-Anweisung ausgelöst und durch die Catch-Anweisung erfasst werden. //code} Catch(Exception $e){//Output error}".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wenn Sie in PHP Ausnahmen im Programm abfangen möchten, müssen Sie die try-catch-Anweisung und den throw verwenden Schlüsselwort, um es zu erreichen. Die Try-Catch-Anweisung ähnelt der Flusskontrollanweisung, sodass Sie mit der Try-Catch-Anweisung eine alternative bedingte Auswahlstruktur implementieren können und das Schlüsselwort throw eine Ausnahme auslösen kann. Das Syntaxformat der Try-Catch-Anweisung lautet wie folgt:
try{ // 可能出现异常或错误的代码,比如文件操作、数据库操作等 }catch(Exception $e){ // $e 为一个异常类的对象 // 输出错误信息 }
Code, der eine Ausnahmebehandlung erfordert, muss im Try-Codeblock platziert werden, um mögliche Ausnahmen abzufangen. Jeder Versuch muss mindestens einen entsprechenden Fang haben. Verwenden Sie mehrere Catches, um von verschiedenen Klassen generierte Ausnahmen abzufangen.
Wenn der Try-Codeblock keine Ausnahme mehr auslöst oder kein Catch gefunden werden kann, der mit der ausgelösten Ausnahme übereinstimmt, setzt der PHP-Code die Ausführung fort, nachdem er zum letzten Catch gesprungen ist.
Im PHP-Code generierte Ausnahmen können durch Throw-Anweisungen ausgelöst und durch Catch-Anweisungen abgefangen werden. Natürlich erlaubt PHP, innerhalb von Catch-Blöcken erneut Ausnahmen auszulösen.
Wenn eine Ausnahme ausgelöst wird, wird der nachfolgende Code nicht weiter ausgeführt und PHP versucht weiterhin, den ersten passenden Catch zu finden. Wenn eine Ausnahme nicht abgefangen und nicht entsprechend mit set_Exception_handler() behandelt wird, wird ein schwerwiegender Fehler generiert und die Meldung UncaughtException... ausgegeben.
【Beispiel】Verwenden Sie Try Catch und Throw, um Ausnahmen im Programm abzufangen.
<?php try{ $err = '抛出异常信息,并跳出 try 语句块'; if(is_dir('./test')){ echo '这里是一些可能会发生异常的代码'; }else{ throw new Exception($err, 12345); // 抛出异常 } echo '上面抛出异常的话,这行代码将不会执行,转而执行 catch 中的代码。<br>'; }catch(Exception $e){ echo '捕获异常:'.$e->getMessage().'<br>错误代码:'.$e->getCode().'<br>'; } echo '继续执行 try catch 语句之外的代码'; ?>
Die laufenden Ergebnisse lauten wie folgt:
捕获异常:抛出异常信息,并跳出 try 语句块 错误代码:12345 继续执行 try catch 语句之外的代码
Versuchen Sie im Beispielcode im try-Anweisungsblock festzustellen, ob im aktuellen Verzeichnis ein Verzeichnis mit dem Namen test vorhanden ist. Wenn dieses Verzeichnis nicht vorhanden ist, wird der Code aktiviert Zeile 7 wird ausgeführt. Das Schlüsselwort throw löst eine Ausnahme aus. Diese Ausnahme ist ein Objekt der Exception-Klasse, das über das Schlüsselwort new generiert wird. Das Objekt wird mit der Fehlermeldung $err und dem Fehlercode 12345 initialisiert, sodass diese Informationen abgerufen werden können, wenn die Ausnahme später abgefangen wird (Zeile 11 des Code).
Sobald eine Ausnahme ausgelöst wird, wird der verbleibende Code im Try-Anweisungsblock nicht mehr ausgeführt. Der Programmablauf wird zur Ausführung an den entsprechenden Catch-Anweisungsblock übertragen und schließlich werden die Fehlerinformationen und der Code durch Aufrufen ausgegeben seine Mitgliedsfunktion über das Exception-Objekt.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PHP-Try-Catch-Anweisung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!