ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数は例外処理を使用できますか?例外をスローしてキャッチするにはどうすればよいですか?
PHP 関数は、例外をスロー (throw) およびキャッチ (catch) することによって実行時エラーと例外を処理します。エラーまたは例外情報を含む例外オブジェクトをスローするには、throw キーワードを使用します。 try-catch ステートメントを使用した例外のキャッチ: try ブロックには、例外をスローする可能性のあるコードが含まれています。 catch ブロックは、スローされた例外を処理するために使用されます。
#PHP 関数は例外をスローおよびキャッチする
はじめにPHP では、関数はランタイムを処理できます。例外処理メカニズムによるエラーと例外。例外をスローおよびキャッチすることにより、コードの保守性と堅牢性を向上させることができます。
例外をスローする
throw キーワードを使用して例外をスローできます。例外は、エラーまたは例外に関する情報を含む
Throwable オブジェクトまたはそのサブクラスです。例外をスローする構文は次のとおりです。
throw new Exception("Error message");
例外のキャッチ例外は、
try-catch ステートメントを使用してキャッチできます。
try ブロックには例外をスローする可能性のあるコードが含まれており、
catch ブロックはスローされた例外を処理するために使用されます。例外をキャッチするための構文は次のとおりです。
try { // 代码可能引发异常 } catch (Exception $e) { // 处理异常 }
実用的なケース2 つの数値の商を計算する関数
divide() を考えてみましょう。分母が 0 の場合、関数は
InvalidArgumentException 例外をスローする必要があります。
function divide($numerator, $denominator) { if ($denominator == 0) { throw new InvalidArgumentException("Dividing by zero is not allowed."); } return $numerator / $denominator; }次のコード ブロックでは、
divide() 関数を呼び出し、
catch ブロックで例外を処理します。コードは出力します:
try { $result = divide(10, 2); echo "Result: $result"; } catch (InvalidArgumentException $e) { echo "Error: " . $e->getMessage(); }しかし、
$denominator
が 0 に設定されている場合、コードはInvalidArgumentException 例外をスローし、次を出力します:
Result: 5
注意事項
真の例外またはエラー条件のみがスローされる必要があります。
finally
以上がPHP 関数は例外処理を使用できますか?例外をスローしてキャッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。