ホームページ >バックエンド開発 >PHPチュートリアル >PHPの例外処理はどのような用途に使われるのでしょうか?

PHPの例外処理はどのような用途に使われるのでしょうか?

烟雨青岚
烟雨青岚オリジナル
2020-06-30 16:21:412329ブラウズ

例外処理 (Exception) は、指定されたエラーが発生したときにスクリプトの通常のフローを変更するために使用されます。例外がスローされると、次のコードは実行を続行できず、PHP は一致する「キャッチ」コード ブロックを見つけようとします。

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 &#39;Exception&#39; 
with message &#39;Value must be 1 or below&#39; 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、throw、catch

上記の例のエラーを回避するには、例外を処理する適切なコードを作成する必要があります。

正しいハンドラーには次のものが含まれている必要があります。

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 &#39;If you see this, the number is 1 or below&#39;;
}
//捕获异常
catch(Exception $e)
{
echo &#39;Message: &#39; .$e->getMessage();
}
?>

上記のコードでは次のようなエラーが発生します:

メッセージ: 値は 1 以下でなければなりません


例の説明:

上記のコード 例外がスローされ、キャッチされました:

checkNum() 関数を作成します。数値が 1 より大きいかどうかを検出します。その場合は、例外をスローします。 「try」ブロックで checkNum() 関数を呼び出します。 checkNum() 関数で例外がスローされ、「catch」コード ブロックが例外を受け取り、例外情報を含むオブジェクト ($e) を作成します。この例外オブジェクトから $e->getMessage() を呼び出すと、例外からのエラー メッセージが出力されます

ただし、「各スローはキャッチに対応する必要がある」という原則に従うために、 -level 例外は、見逃したエラーを処理するようにプロセッサを設定できます。

推奨チュートリアル:「

php チュートリアル

以上がPHPの例外処理はどのような用途に使われるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。