Heim > Artikel > Backend-Entwicklung > Fünf Minuten, um Ihnen zu zeigen, was Ausnahmebehandlung in PHP ist
Im vorherigen Artikel habe ich Ihnen „Sie müssen verstehen, wie man Bildwasserzeichen in PHP hinzufügt“ vorgestellt, der Ihnen anhand von Beispielen eine detaillierte Einführung in das Hinzufügen von Wasserzeichen in PHP gegeben hat Wenn Sie Kenntnisse über die Fehlerbehandlung in PHP haben, hoffe ich, dass es Ihnen helfen kann!
php Error Handling“ ansehen.
Klasse zur Ausnahmebehandlung in PHP
Exception
. Diese Klasse enthält einige Funktionen zur Behandlung von Ausnahmen und Fehlern kann gefangen werden. Exception
,这个类包含了一些处理异常的函数,这些函数可以捕获程序异常和错误。
那下面列举出该类中较为常用的函数:
getTraceAsString()
:返回已格式化成字符串的、由函数 getTrace() 函数所产生的信息
__toString()
:产生异常的字符串信息,它可以重载。注意,该函数最前部是两个下划线
getMessage()
:返回异常的消息内容
getLine()
:返回发生错误的代码行号
getCode()
:以数字形式返回异常代码
getFile()
:返回发生异常的文件名
getTrace()
:返回 backtrace() 数组
捕获程序中的异常
程序中的异常出现一般不会自己显现出来,这时候我们可以通过try catch
语句和 throw
Die folgenden Funktionen werden in dieser Klasse am häufigsten verwendet:
getTraceAsString()
: Gibt formatierte Zeichen-String-Informationen zurück generiert durch die Funktion getTrace()
__toString()
: String-Informationen, die Ausnahmen generieren, sie können überladen werden. Beachten Sie, dass am Anfang dieser Funktion zwei Unterstriche stehen
getMessage()
: Gibt den abnormalen Nachrichteninhalt zurück
getLine ()
: Gibt die Codezeilennummer zurück, in der der Fehler aufgetreten ist
getCode()
: Gibt den Ausnahmecode in numerischer Form zurück getFile()
: Gibt den Dateinamen zurück, in dem die Ausnahme aufgetreten ist
getTrace()
: Gibt das backtrace()-Array zurückli>
Ausnahmen im Programm abfangen
Ausnahmen im Programm werden im Allgemeinen nicht von selbst angezeigt. Zu diesem Zeitpunkt können wir die Anweisung try Catch
verwenden throw
Schlüsselwort zu Um den Zweck des Abfangens von Ausnahmen im Programm zu erreichen. Die try-catch-Anweisung ähnelt der Flusskontrollanweisung. Das Schlüsselwort throw kann eine Ausnahme im Programm durch eine Struktur ähnlich der bedingten Auswahl erfassen. Das Syntaxformat der Try-Catch-Anweisung lautet wie folgt:
try{ // 可能出现异常或错误的代码,比如文件操作、数据库操作等 }catch(Exception $a){ // $a 为一个异常类的对象 // 输出错误信息 }
Darin generierte Ausnahmen können durch die Throw-Anweisung ausgelöst und durch Catch erfasst werden. Wenn eine Ausnahme auftritt, wird der Code dahinter nicht mehr ausgeführt.
Das Beispiel lautet wie folgt:
<?php try{ $err = '抛出异常信息,并跳出 try 语句块'; if(is_dir('./demo')){ echo '这里是一些可能会发生异常的代码'; }else{ throw new Exception($err, 20211020); // 抛出异常 } echo '上面抛出异常的话,这行代码将不会执行,转而执行 catch 中的代码。<br>'; }catch(Exception $e){ echo '捕获异常:'.$e->getMessage().'<br>错误代码:'.$e->getCode().'<br>'; } echo '继续执行 try catch 语句之外的代码'; ?>
Ausgabeergebnis:
<?php class emailException extends Exception{ function __toString(){ return "<b>email is null</b>file:".$this->getFile().',line:'. $this->getLine(); } } class nameException extends Exception{ } ?>🎜Im obigen Beispiel sind zwei Ausnahmeklassen definiert, die beide von der Exception-Basisklasse erben. 🎜🎜Im tatsächlichen Geschäft werden wir je nach Bedarf auch unterschiedliche Ausnahmen auslösen. Beispiele sind wie folgt: 🎜
function reg($reg) { if (empty($reg['email'])) { throw new emailException("emaill is null", 1); } if(empty($reg['name'])) { throw new nameException("name is null", 2); } }🎜Beim Ausführen von Geschäftscode können Sie die if-Anweisung verwenden, um zu bestimmen, wo die Ausnahme auftritt, und sie dann manuell auslösen Im folgenden Beispiel werden verschiedene Ausnahmen je nach Situation erfasst, auch wenn im Programm noch andere Ausnahmen vorhanden sind Blöcke werden ebenfalls übersprungen. Unabhängig davon, ob im Programm eine Ausnahme vorliegt, werden die Anweisungen in „finally“ ausgeführt. Ein Beispiel ist wie folgt: 🎜🎜
try{ $reg = array('phone'=>'1888888888'); reg($reg); } catch(emailException $e) { echo $e; } catch(nameException $e) { echo 'error msg:' .$e->getMessage().'error code:'.$e->getCode(); } finally { echo ' finally'; }🎜 Wenn Sie mehr über PHP erfahren möchten, können Sie auf „🎜PHP-Video-Tutorial🎜“ klicken, um es zu lernen! 🎜
Das obige ist der detaillierte Inhalt vonFünf Minuten, um Ihnen zu zeigen, was Ausnahmebehandlung in PHP ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!