ホームページ >バックエンド開発 >PHPチュートリアル >例を使用して PHP5 の例外処理を理解する_PHP チュートリアル
プログラムを書いていると必ず様々なエラーが発生しますが、そのようなエラーにどう対処したり、変更を見つけられるようにエラーを表示したりするにはどうすればよいでしょうか?これには例外処理が使用されます。ここでは、5 つの例外処理に関連する概念を紹介します。
PHP5 例外処理
PHP 5 には、他の言語と同様の例外処理モジュールが追加されています。 PHP コードで生成された例外は、throw ステートメントでスローし、catch ステートメントでキャッチできます。例外処理が必要なコードは、発生する可能性のある例外をキャッチするために try コード ブロックに配置する必要があります。
すべてのトライには、少なくとも 1 つの対応するキャッチが必要です。複数のキャッチを使用して、さまざまなクラスによって生成された例外をキャッチします。 try コード ブロックが例外をスローしなくなった場合、またはスローされた例外に一致するキャッチが見つからない場合、PHP コードは最後のキャッチにジャンプした後、実行を続行します。
もちろん、PHP5 の例外処理では、catch ブロック内で例外を再度スローすることができます。例外がスローされると、後続のコードは実行を続行せず、PHP は最初に一致するキャッチを見つけようとします。
例外がキャッチされず、対応する処理に set_Exception_handler() を使用する必要がない場合、PHP は重大なエラーを生成し、Uncaught Exception... (キャッチされなかった例外) プロンプト メッセージを出力します。
PHP5例外処理における例外クラスの属性とメソッド
次のコードは、組み込みの例外処理クラスの構造を説明するためのものであり、実際的な意味を持つ使用可能なコードではありません。<ol class="dp-xml"> <li class="alt"><span><span><?php </span></span></li> <li><span>class Exception{ </span></li> <li class="alt"> <span>protected $</span><span class="attribute">message</span><span> = </span><span class="attribute-value">'Unknown <br>exception'</span><span>; </span> </li> <li><span>// 异常信息 </span></li> <li class="alt"> <span>protected $</span><span class="attribute">code</span><span> = </span><span class="attribute-value">0</span><span>; </span> </li> <li><span>// 用户自定义异常代码 </span></li> <li class="alt"><span>protected $file; </span></li> <li><span>// 发生异常的文件名 </span></li> <li class="alt"><span>protected $line; </span></li> <li><span>// 发生异常的代码行号 </span></li> <li class="alt"> <span>function __construct($</span><span class="attribute">message</span><span> = <br></span><span class="attribute-value">null</span><span>, $</span><span class="attribute">code</span><span> = </span><span class="attribute-value">0</span><span>); </span> </li> <li><span>final function getMessage(); </span></li> <li class="alt"><span>// 返回异常信息 </span></li> <li><span>final function getCode(); </span></li> <li class="alt"><span>// 返回异常代码(代号) </span></li> <li><span>final function getFile(); </span></li> <li class="alt"><span> // 返回发生异常的文件名 </span></li> <li><span>final function getLine(); </span></li> <li class="alt"><span>// 返回发生异常的代码行号 </span></li> <li><span>final function getTrace(); </span></li> <li class="alt"><span>// backtrace() 数组 </span></li> <li><span>final function getTraceAsString(); </span></li> <li class="alt"><span>// 已格成化成字符串的 getTrace() 信息 </span></li> <li><span>//可重载的方法 </span></li> <li class="alt"><span>function __toString(); </span></li> <li><span>// 可输出的字符串 </span></li> <li class="alt"><span>} </span></li> <li><span>?> </span></li> <li class="alt"><span> </span></li> </ol>以上は PHP5 における例外処理の分析であり、また必要になった友人の役に立てば幸いです。