ホームページ >バックエンド開発 >PHPチュートリアル >例を使用して PHP5 の例外処理を理解する_PHP チュートリアル

例を使用して PHP5 の例外処理を理解する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:32:25829ブラウズ

プログラムを書いていると必ず様々なエラーが発生しますが、そのようなエラーにどう対処したり、変更を見つけられるようにエラーを表示したりするにはどうすればよいでしょうか?これには例外処理が使用されます。ここでは、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 における例外処理の分析であり、また必要になった友人の役に立てば幸いです。


http://www.bkjia.com/PHPjc/446145.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446145.html技術記事プログラムを書いていると必ずさまざまなエラーが発生しますが、そのエラーにどう対処したり、エラーを表示して変更点を見つけたりするにはどうすればよいでしょうか。これには例外処理が使用されます。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。