PHP 例外処理入門ガイド
プログラミング プロセスにおいて、例外処理は常に重要なトピックです。 PHP 言語の例外処理についても同様です。例外は、プログラム実行中のエラーまたは問題を指し、プログラマはプログラム内で注意を払う必要がある詳細を思い出します。この記事は、PHP 例外処理の基本概念と、PHP で例外処理を使用する方法を紹介することを目的としています。
1. 例外処理とは
例外処理とは、プログラムの実行中に発生する可能性のあるエラー、中断、または不明な状態を捕捉し、処理するプロセスを指します。従来のエラー処理 (戻り値または同様のメカニズムを使用) とは異なり、例外処理では識別と配信に例外 (Exception) オブジェクトが使用されます。
PHP では、例外処理を使用して、実行時エラー、構文エラー、データベース操作エラーなどを処理できます。
2. PHP における例外処理
PHP では、例外処理は、例外スローと例外キャッチの 2 つの部分で構成されます。例外のスローとは、プログラムで例外が発生したときに Exception オブジェクトを作成してスローすることです。エンジンは現在のコード ブロックの実行を終了し、すぐに最も近い例外ハンドラーにジャンプします。例外キャッチとは、投げられた例外を try-catch 文ブロックでキャッチし、処理することです。
次に、例外のスローとキャッチの例を示します。
function divide($dividend, $divisor) { if($divisor == 0) { throw new Exception('Division by zero.'); } return $dividend / $divisor; } try { $result = divide(100, 0); } catch(Exception $e) { echo 'Caught exception: ', $e->getMessage(), " "; }
上記のコードでは、関数 divide
は、$divisor が 0 に等しい場合に例外を判定します。物体。この例外をキャッチし、エラー情報を出力するには、try-catch ステートメントを使用します。
3. カスタム例外
PHP では、Exception クラスを継承することでカスタム例外を作成できます。例外をカスタマイズすると、さまざまな状況に応じてさまざまな例外オブジェクトをスローできるため、例外処理の精度と読みやすさが向上します。
以下はカスタム例外の例です:
class UserNotFoundException extends Exception { public function errorMessage() { // 定义错误信息 $errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile() .': <b>'.$this->getMessage().'</b> is not a valid E-Mail address'; return $errorMsg; } } $email = "john.doe@example.com"; try { if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) { // 抛出自定义异常 throw new UserNotFoundException($email); } } catch (UserNotFoundException $e) { // 处理自定义异常 echo $e->errorMessage(); }
上記のコードでは、UserNotFoundException 例外がカスタマイズされており、Exception クラスを継承し、errorMessage メソッドをオーバーライドしてカスタム エラー メッセージを返します。 。 try-catch ステートメントでは、filter_var 関数を使用して $email が有効な電子メール アドレスかどうかを判断します。有効でない場合は、カスタム例外がスローされます。
4. 例外処理のベスト プラクティス
例外処理を使用する場合のベスト プラクティスは次のとおりです:
つまり、PHP では、例外処理は信頼性の高いエラー処理を実現する方法です。これにより、プログラマは例外を識別して処理することが容易になり、コードの保守と拡張が容易になります。 PHP 例外処理の基本概念とベスト プラクティスを習得することは、すべての PHP 開発者にとって必須のスキルの 1 つです。
以上がPHP 例外処理の初心者ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。