ホームページ >バックエンド開発 >PHPチュートリアル >PHP例外:エラー処理のためにキャッチを試してください
このチュートリアルでは、
ブロックを使用したPHP例外処理について説明しています。 PHP 5で導入されたこのアプローチは、古い方法と比較して優れたエラー管理とアプリケーションフロー制御を提供します。基本をカバーし、実用的な例で説明します
try-catch
PHP 5では、例外が投げられてキャッチすることを可能にする新しいエラーモデルを導入しました。これにより、エラー処理が大幅に向上します。すべての例外は、カスタム例外のために拡張可能な
ベースクラスのインスタンスです。例外処理はエラー処理とは異なります。エラー処理では、カスタムエラー関数の場合はException
を使用して、エラートリガーに呼び出されます。 ただし、一部のエラーは回復できず、実行を停止します。
例外は、逆に、意図的に投げられ、捕まると予想されます。それらは回復可能です。捕まった場合、プログラムの実行が再開されます。 猛攻撃の例外により、エラーが発生し、実行が停止します
set_error_handler
次の図は、典型的な例外処理フローを示しています
phpの
およびブロックは、ハンドルの例外をブロックします。予期しないイベントが発生したときに例外を投げます。 基本的なフローは次のとおりです
ブロックを追加できます。
try
catch
ブロックは、例外を生成する可能性のあるコードを囲みます。 常にそのようなコードを
// Code before try-catch try { // Code // If something unexpected happens // throw new Exception("Error message"); // Code (not executed if exception thrown) } catch (Exception $e) { // Exception handled here // $e->getMessage() gets the error message } // Code after try-catch (always executed)
スロー例外finally
例外は、呼び出された関数によってスローされるか、try
キーワードを手動で使用することができます。 たとえば、入力を検証し、無効な場合は例外をスローします。
try...catch
未処理のスローされた例外は致命的なエラーを引き起こします。 例外をスローするときは、必ず
ブロックのオブジェクトは、スローされたエラーメッセージを保持します。 このブロック内でエラー処理ロジックを実装します
実世界の例throw
catch
からアプリケーションロード構成を作成しましょう。 アプリケーションにはこのファイルが必要です。その不在は例外的なケースです。
catch
これはException
をチェックします。 見つかった場合、実行が進行します。それ以外の場合、例外は実行を停止します。 例外は、無効なログインのような頻繁なエラーではなく、本当に例外的な状況に使用する必要があります。
カスタム例外の作成
クラスを拡張して、カスタム例外を作成します。 前の例を改善しましょう:config.php
// Code before try-catch try { // Code // If something unexpected happens // throw new Exception("Error message"); // Code (not executed if exception thrown) } catch (Exception $e) { // Exception handled here // $e->getMessage() gets the error message } // Code after try-catch (always executed)
ConfigFileNotFoundException
Exception
。 これで、特定のcatch
ブロックは、さまざまな例外タイプを処理します。 最後のcatch
ブロックは、一般的な例外を処理します。
ブロックfinally
ブロックは例外に関係なく実行されます。 リソースのクリーンアップに最適です(たとえば、データベース接続を閉じる)。finally
<?php try { $config_file_path = "config.php"; if (!file_exists($config_file_path)) { throw new Exception("Configuration file not found."); } // Continue bootstrapping } catch (Exception $e) { echo $e->getMessage(); die(); } ?>効果的な例外処理が重要です。 エラーの検出と回復を改善するために、開発中の例外処理の計画
結論 このチュートリアルでは、
ブロックを備えたPHP例外処理をカバーしました。 基本を調査し、実用的な例を作成し、カスタム例外作成を実証しました。 本当に例外的な状況には例外を慎重に使用することを忘れないでください以上がPHP例外:エラー処理のためにキャッチを試してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。