PHP 8の前に、例外をキャッチしたい場合は、通常、変数に保存してから、この変数を確認して例外情報を取得する必要がありました。このようにして、開発者はエラーコード、エラーメッセージなど、例外の詳細情報を取得できます。
PHP 8の前に例外をキャッチする従来の方法は次のとおりです。
<?php
function
foo()
{
try
{
throw
new
Exception(
'Hello'
);
}
catch
(Exception
$e
) {
return
$e
->getMessage();
}
}
?>
上記のコードでは、例外はキャッチブロックによってキャッチされ、可変$ eに保存され、例外の詳細を通じて取得できます。
PHP 8は、新しい非キャプチャされた例外キャプチャ機能を導入しました。つまり、例外がキャッチされた場合、変数に保存できなくなります。つまり、キャプチャされた例外オブジェクトを気にする必要がなくなります。例外オブジェクトで情報を使用する必要がない場合は、この簡略化された方法を使用して例外をキャッチできます。
PHP 8のキャプチャ以外の例外キャプチャの例は次のとおりです。
<?php
try
{
throw
new
Exception(
'hello'
);
}
catch
(Exception) {
// $e 变量已省略
}
?>
この例では、例外は正常にキャッチされますが、どの変数にも保存されません。このアプローチは、詳細を気にせずに例外を処理する必要がある状況に非常に役立ちます。
PHP 8の非キャプチャの例外キャプチャ機能により、例外処理がより柔軟になります。例外オブジェクトで情報にアクセスする必要がない場合は、単純化されたキャプチャメソッドを使用してコードをより簡潔にし、コードの読みやすさと保守性を向上させることができます。