まず、スレッド
まず最初に明確:例外やエラーは同じものではありません。
例外(例外)が例外またはプログラムの実装で生じるイベントプロシージャでは、他のプログラムモジュールへのジャンプが続く、通常の操作指示を中断する。
基本フォーマット:
試し{ //は、異常検出コード部分を実行し、新たな例外(「マニュアルスロー例外」)を投げるなど; } キャッチ(例外 の$ E ){ // 例外トラップ処理を行い 、最後に{} // どんなに異常が実行されませんされていません }
説明:
- ... ...少なくともキャッチを試みるために、対応するキャッチを試みる、キャッチだけでは表示することはできません
- PHP、手動で例外をスローする必要があります
- 文の構造である、あなたが値としてそれにオブジェクトを渡す必要があり、例外処理メカニズムを開始するキーワードを投げます
- 例外がキャッチ対応するキャプチャをスローされます
第二に、組み込みのExceptionクラスの拡張
<?PHPの クラス の例外は{ // 例外メッセージ 保護された 文字列は、 メッセージを$ ; // ユーザ定義の例外番号 、保護 int型$コード; // のファイル名例外 保護された 文字列 $ファイル; // 例外の行番号 、保護 int型$ライン; // コンストラクタは、 公共 __construct([ 文字列 $メッセージ = "" [、int型$コード = 0 [、Throwableの$前 = NULL ]]]) // 戻り例外情報 最終的な 公共のgetMessage(無効):文字列 //が異常な数を返し 決勝 公衆にgetCode(ボイド):int型 //は、例外のファイル名を返し 、最終的な パブリックはgetFile(ボイド):文字列 //は、例外の行番号を返し 、最終的な 公共のgetlineを( )ボイド:INT 最終 公共 getTrace(ボイド):配列 // getTrace()情報にフォーマットされた文字列 の最終 公共 getTraceAsString(ボイド):文字列 // 出力オブジェクト情報 公共 __toString(ボイド):文字列 }
例外基底クラスを参照してください: https://www.php.net/manual/zh/class.exception.php