ホームページ >バックエンド開発 >PHPチュートリアル >PHPの例外処理はどのような用途に使われるのでしょうか?
例外処理 (Exception) は、指定されたエラーが発生したときにスクリプトの通常のフローを変更するために使用されます。例外がスローされると、次のコードは実行を続行できず、PHP は一致する「キャッチ」コード ブロックを見つけようとします。
#Exception は、指定されたエラーが発生したときにスクリプトの通常のフローを変更するために使用されます。
#例外の基本的な使用法例外がスローされると、後続のコードは実行を続行できなくなり、PHP は検索を試みます。一致する「キャッチ」コードブロック。
例外がキャッチされず、対応する処理に set_Exception_handler() を使用する必要がない場合は、重大なエラー (致命的なエラー) が発生し、「Uncaught Exception」(キャッチされない例外) が出力されます。情報。
例外をキャッチせずにスローしてみましょう:<?php
//create function with an exception
function checkNum($number)
{
if($number>1)
{
throw new Exception("Value must be 1 or below");
}
return true;
}
//trigger exception
checkNum(2);
?>
Fatal error: Uncaught exception 'Exception'
with message 'Value must be 1 or below' in C:\webfolder\test.php:6
Stack trace: #0 C:\webfolder\test.php(12):
checkNum(28) #1 {main} thrown in C:\webfolder\test.php on line 6
上記の例のエラーを回避するには、例外を処理する適切なコードを作成する必要があります。
正しいハンドラーには次のものが含まれている必要があります。
Try - 例外を使用する関数は、「try」コード ブロック内に配置する必要があります。例外がトリガーされない場合、コードは通常どおり実行を続行します。ただし、例外がトリガーされると、例外がスローされます。 Throw - 例外をトリガーする方法を指定します。各「スロー」は少なくとも 1 つの「キャッチ」Catch に対応する必要があります。「キャッチ」コード ブロックは例外をキャッチし、例外情報を含むオブジェクトを作成します
例外をトリガーしましょう:
<?php //创建可抛出一个异常的函数 function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代码块中触发异常 try { checkNum(2); //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below'; } //捕获异常 catch(Exception $e) { echo 'Message: ' .$e->getMessage(); } ?>
上記のコードでは次のようなエラーが発生します:
メッセージ: 値は 1 以下でなければなりません
例の説明:
上記のコード 例外がスローされ、キャッチされました:
checkNum() 関数を作成します。数値が 1 より大きいかどうかを検出します。その場合は、例外をスローします。 「try」ブロックで checkNum() 関数を呼び出します。 checkNum() 関数で例外がスローされ、「catch」コード ブロックが例外を受け取り、例外情報を含むオブジェクト ($e) を作成します。この例外オブジェクトから $e->getMessage() を呼び出すと、例外からのエラー メッセージが出力されます
ただし、「各スローはキャッチに対応する必要がある」という原則に従うために、 -level 例外は、見逃したエラーを処理するようにプロセッサを設定できます。
推奨チュートリアル:「
php チュートリアル以上がPHPの例外処理はどのような用途に使われるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。