JDK 7 以降、例外処理は 3 つの新機能 (自動リソース管理、マルチキャッチ、より正確な再スロー) で拡張されました。
マルチキャッチを使用すると、同じ catch 句で複数の例外をキャッチでき、コードの重複を回避できます。
マルチキャッチを使用するには、 | で区切られた例外のリストを指定します。 catch句で。各パラメータは暗黙的に最終値です。
使用例: catch(final ArithmeticException | ArrayIndexOutOfBoundsException e) は、同じ catch 句で両方の例外をキャッチします。
プログラムは、ゼロで除算しようとすると ArithmeticException を生成し、配列の境界外のインデックスにアクセスすると ArrayIndexOutOfBoundsException を生成します。どちらの例外も同じ catch 句によってキャッチされます。
より正確な再スロー機能は、再スローできる例外のタイプを次のように制限します。
1 try ブロックによってスローされたチェック済み例外。
2 前の catch 句によって処理されない例外。
3 パラメーターのサブタイプまたはスーパータイプである例外。
最終再スローを使用するには、catch ブロック内のパラメーターは Final である必要があります。つまり、catch ブロック内で新しい値を指定することはできません。これは明示的に指定できますが、必須ではありません。
以上が新たに追加された 3 つの例外機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。