前回の記事では、「PHP の例外処理とは何ですか?」について紹介しました。例外処理で try-catch を使用するにはどうすればよいですか? 》ということで、この記事では引き続き、PHPのカスタム例外処理クラスとは何なのかを紹介していきます。カスタム例外処理クラスを解決するにはどうすればよいでしょうか?一定の参考値があるので、困っている友達が参考になれば幸いです。
カスタム例外処理クラス:
final:クラスを変更するために使用される場合、それは次のことを表します。 this クラスは継承できません。メソッドの変更に使用されている場合、このメソッドはオーバーライドできないことを意味します。
公式例外ハンドリング クラスから継承するには、メソッドを自分で追加することができます。親クラスのメソッドをオーバーライドできるかどうか。
[注意] 複数のキャッチがある場合は、上にカスタム例外クラス、下に公式例外クラスを記述します。
ネスト: 次のように作成できます。 try in try
カスタム例外処理関数 (理解)
set_exception_ handler('test') ;
関数を登録します。例外がスローされると、この関数によって自動的にキャッチされます。 , = この関数にはパラメータが 1 つあります、パラメータは例外オブジェクトです。
コードを例として取り上げます。
<?php function test($e) { echo $e->getMessage(); } set_exception_handler('test'); throw new Exception( '现在有异常了');
例外処理クラスに関しては、引き続きコード Let を使用します。フォームについて説明します。まず、新しいファイルを作成する必要があります。クラスを定義します。公式の例外処理クラスを継承する必要があります。次に、クラス内に (関数) メソッドを定義します。 try を通じてコードを実行します。そのとき、独自の例外処理クラスを通じてそれをキャッチできます。次のようにコードを通じてそれを示します:
<?php class MyException extends Exception { function demo( ) { echo '执行第二套方案<br />' ; } } try { echo '我将于茫茫人海中访我唯一灵魂之伴侣<br />'; throw new MyException( '主人出错啦'); echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) { echo $e->getMessage(); } ?>
コードのデモ結果は次のとおりです:
次は独自に定義した例外処理クラスです。実行中にエラーが発生した場合は、2 番目のメソッド セットを実行できます。
catch (MyException $e) { echo $e->getMessage(); echo '<hr>'; $e->demo(); }
コードのデモの結果は次のとおりです。 :
これは私たち自身で定義した例外処理クラスです;
今のコードをコピーして、どのキャッチが例外をキャッチできるかを調べてみましょう。コードは次のとおりです:
try { echo '我将于茫茫人海中访我唯一灵魂之伴侣<br />'; throw new MyException( '主人出错啦'); echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) { echo '因为爱过,所以慈悲'; }catch (Exception $e){ echo '因为懂得,所以宽容'; }
コードのデモンストレーション結果は次のとおりです:
コードから、キャプチャされた例外がカスタムであることがわかります。このオブジェクトをキャプチャする例外処理クラス MyException と Exception を組み合わせた場合 順番が入れ替わるとどうなるでしょうか?実行すると、これがまだ最初のクラスであることがわかります。
注: Exception は公式クラスであり、親クラスであり、MyException の親クラスです。例外をキャッチするときは、最初にサブクラスを配置してから、正式なクラスを作成する必要があります。
推奨される学習: php ビデオ チュートリアル
以上がPHP のカスタム例外処理クラスとは何ですか?カスタム例外処理クラスを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。