Die Ausnahmebehandlung (Exception) wird verwendet, um den normalen Ablauf des Skripts zu ändern, wenn ein bestimmter Fehler auftritt. Wenn eine Ausnahme ausgelöst wird, wird der folgende Code nicht weiter ausgeführt und PHP versucht, einen passenden „catch“-Codeblock zu finden.
Eine Ausnahme wird verwendet, um den normalen Ablauf des Skripts zu ändern, wenn ein bestimmter Fehler auftritt.
Grundlegende Verwendung von Ausnahmen
Wenn eine Ausnahme ausgelöst wird, wird der folgende Code nicht weiter ausgeführt, PHP versucht Suchen passende „Catch“-Codeblöcke.
Wenn die Ausnahme nicht abgefangen wird und keine Notwendigkeit besteht, set_Exception_handler() für die entsprechende Verarbeitung zu verwenden, tritt ein schwerwiegender Fehler (schwerwiegender Fehler) auf und es wird die Fehlermeldung „Uncaught Exception“ ausgegeben.
Versuchen wir, eine Ausnahme auszulösen, ohne sie abzufangen:
<?php //create function with an exception function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //trigger exception checkNum(2); ?>
Der obige Code erhält einen Fehler wie diesen:
Fatal error: Uncaught exception 'Exception' with message 'Value must be 1 or below' in C:\webfolder\test.php:6 Stack trace: #0 C:\webfolder\test.php(12): checkNum(28) #1 {main} thrown in C:\webfolder\test.php on line 6
Versuchen, werfen und fangen
Um die Fehler im obigen Beispiel zu vermeiden, müssen wir geeigneten Code zur Behandlung von Ausnahmen erstellen.
Der richtige Handler sollte Folgendes enthalten:
Try – Funktionen, die Ausnahmen verwenden, sollten sich in einem „try“-Block befinden. Wenn keine Ausnahme ausgelöst wird, wird die Ausführung des Codes wie gewohnt fortgesetzt. Wenn jedoch eine Ausnahme ausgelöst wird, wird eine Ausnahme ausgelöst. Auslösen – Dies gibt an, wie die Ausnahme ausgelöst werden soll. Jeder „Throw“ muss mindestens einem „catch“Catch entsprechen – der „catch“-Codeblock fängt die Ausnahme ab und erstellt ein Objekt mit den Ausnahmeinformationen
Lassen Sie uns eine Ausnahme auslösen:
<?php //创建可抛出一个异常的函数 function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代码块中触发异常 try { checkNum(2); //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below'; } //捕获异常 catch(Exception $e) { echo 'Message: ' .$e->getMessage(); } ?>
Der obige Code erhält einen Fehler ähnlich diesem:
Meldung: Wert muss 1 oder kleiner sein
Erklärung des Beispiels:
Der obige Code Eine Ausnahme wurde ausgelöst und abgefangen:
Erstellen Sie die Funktion checkNum(). Es erkennt, ob die Zahl größer als 1 ist. Wenn ja, lösen Sie eine Ausnahme aus. Rufen Sie die Funktion checkNum() im Block „try“ auf. In der Funktion checkNum() wird eine Ausnahme ausgelöst. Der Codeblock „catch“ empfängt die Ausnahme und erstellt ein Objekt ($e), das die Ausnahmeinformationen enthält. Durch den Aufruf von $e->getMessage() aus diesem Ausnahmeobjekt wird die Fehlermeldung der Ausnahme ausgegeben
Um jedoch dem Prinzip „Jedem Wurf muss ein Fang entsprechen“ zu folgen, muss ein Top -Level-Ausnahme kann so eingestellt werden, dass der Prozessor übersehene Fehler behandelt.
Empfohlenes Tutorial: „PHP-Tutorial“
Das obige ist der detaillierte Inhalt vonWas nützt die PHP-Ausnahmebehandlung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!