PHP開発では、例外エラー(例外)が一般的な問題です。例外の合理的な取り扱いは、プログラムのクラッシュを防ぐだけでなく、コード操作の安定性とセキュリティを確保することもできます。例外は、通常、エラー情報、エラーコード、例外タイプを含む、プログラムの期待を満たさないイベントを表します。例外処理メカニズムを通じて、これらのエラーをキャッチおよび処理することができ、より堅牢なプログラムを可能にします。
PHPは、例外を処理するためのトライキャッチ式構造を提供します。 Tryブロックにエラーを作成する可能性のあるコードを配置し、Catchブロックで例外をキャッチするコードを配置します。最終的なブロックのコードは、例外が発生するかどうかに関係なく実行されます。通常、リソースリリースなどの操作に使用されます。
試すす { //例外をトリガーする可能性のあるコード$ result = 1/0; } catch(例外$ e){ //例外をキャッチして処理するエコー「Catch Exception:」。 $ e-> getMessage(); } ついに { // Echo "ファイナルなブロック"は、例外が存在するしないかどうかに関係なく実行されます。 }
上記の例のように、ゼロで除算すると例外がトリガーされ、キャッチブロックは例外情報をキャプチャおよび出力し、最終的にブロックは、例外が発生するかどうかに関係なく特定のコードが実行されることを保証します。
PHPの組み込み例外クラスに加えて、より詳細なエラー情報とカスタマイズされた例外処理方法を提供するために、独自の例外クラスを定義することもできます。カスタム例外クラスは例外から継承され、追加のプロパティとメソッドを追加できます。
クラスのCustomexceptionは例外を拡張します{ public function __construct($ message、$ code = 0、throwable $ previor = null){ 親:: __ construct($ message、$ code、$ forter); } パブリック関数__toString(){ __class__を戻るします。 ":[{$ this-> code}]:{$ this-> message} \ n"; } public function customfunction(){ エコー「例外を処理するためのカスタム関数」; } } 試すす { 新しいしいCustomexception( "これはカスタム例外です"); } catch(customexception $ e){ echo $ e; $ e-> customfunction(); } catch(例外$ e){ Echo "Cated Exception:"。 $ e-> getMessage(); } ついに { エコー「ファイナルにブロック」。 }
Customexceptionクラスは例で定義されています。キャプチャ後にカスタムメソッドを呼び出すことができ、例外を処理して見つけることができます。
開発プロセス中、一般的な要件は、機能内の例外と後処理のロジックの一部をキャッチし、統一処理のために上部発信者の例外を再投与することです。
function foo(){ 試すす { //例外をトリガーする可能性のあるコード新しいしい例外をスローする( "foo function in foo function"); } catch(例外$ e){ Echo "Cated Exception:"。 $ e-> getMessage(); //上部発信者の例外をスロー$ eをスローします。 } } 試すす { foo(); } catch(例外$ e){ エコー「キャッチブロックの例外をキャッチ:」。 $ e-> getMessage(); }
Foofooは例外をキャッチし、それを処理し、例外を上層にスローし、最後に呼び出しで例外をキャッチして処理します。
例外処理は、PHP開発におけるプログラムの安定した動作を確保するための重要なテクノロジーです。 Try-Catch-Finally Structure、Custom Exception Classe、およびException ShowingおよびPassingメソッドをマスターすると、堅牢で保守可能なコードの書き込みに役立ちます。この記事で導入されたPHP例外処理スキルが、開発作業に役立つことを願っています。