PHP8は、スロー式の新機能を導入します。これにより、エラーと例外の処理が大幅に簡素化されます。スロー表現を通じて、開発者は従来のトライキャッチブロック構造に依存することなく、式内に例外を直接スローすることができ、コードをより簡潔で効率的にすることができます。この記事では、スロー式を使用してエラーや例外を処理する方法を詳細に紹介し、理解するためにサンプルコードを添付します。
PHP8の前に、エラーをスローするには、通常、Trigger_Error()を呼び出すか、例外インスタンスを作成した後にスローキーワードでそれらをスローする必要があります。そして今、スロー式を使用すると、式を直接スローに使用してエラーを投げることができます。たとえば
<span class="fun">$ error = $ value <0?新しいしいInvalidarGumentException( "Invalid Value"):$ value;</span>
上記のコードに示すように、$値が0未満の場合、InvalidargumentExceptionの例外がスローされます。そうしないと、$値自体が返されます。
スローエラーと同様に、スロー式を通して例外を直接スローすることもできます。サンプルコードは次のとおりです。
<span class="fun">$ age = $ request-> input( 'age')?:新しいしいMissingParameterexception( "Missing Age Parameter");</span>
リクエストで年齢パラメーターが提供されていない場合、MissingParameterexceptionの例外がスローされます。
スロー式は、スローの例外の執筆を簡素化しますが、これらの例外に対処するためにトライキャッチ構造を使用することをお勧めします。例は次のとおりです。
try {
$result = $value < 0 ? throw new InvalidArgumentException("Invalid value") : $value;
// 他のアクションを実行します...
} catch (InvalidArgumentException $e) {
// 対処するInvalidArgumentException異常な
echo $e->getMessage();
}
$ valueが0未満の場合、スローされた例外はキャッチによってキャッチされます。これは、後続の処理またはロギングに便利です。
PHP8のスロー式は、エラーと例外処理のためのより簡潔な構文を提供し、開発者が式で例外を直接スローすることができ、コードのシンプルさと読みやすさを改善します。それを使用する場合、その使用範囲に注意を払い、それをトライキャッチブロックと組み合わせて例外処理を実現する必要があります。うまくいけば、この記事の例と説明がこの機能をよりよく理解するのに役立つことを願っています。