複数の Java 例外の同時処理
Java プログラミングでは、コードの実行中に発生する可能性のあるさまざまな例外を処理する必要があることがよくあります。 。従来、各例外タイプは、別個の catch ブロックを使用して個別にキャッチする必要がありました。ただし、Java 7 以降、同じ catch 句で複数の例外をキャッチできるようになりました。
Multi-Catch ブロック
Multi-catch ブロックの構文Java では次のとおりです。
try { // Code that may throw exceptions } catch (ExceptionTypeA | ExceptionTypeB | ExceptionTypeC ... e) { // Code to handle all caught exceptions }
このブロックでは、パイプ (|) 記号を使用してリストされた例外が同時に処理されます。 try ブロックの実行中に例外がスローされ、リストされたタイプのいずれかに一致すると、制御は catch ブロックに移されます。
例
たとえば、次のようになります。
try { // Code that may throw IllegalArgumentException, SecurityException, // IllegalAccessException, or NoSuchFieldException } catch (IllegalArgumentException e) { // Code to handle IllegalArgumentException } catch (SecurityException e) { // Code to handle SecurityException } catch (IllegalAccessException e) { // Code to handle IllegalAccessException } catch (NoSuchFieldException e) { // Code to handle NoSuchFieldException }
を使用する代わりに、マルチキャッチ ブロックを使用して例外処理を簡素化できます。
try { // Code that may throw IllegalArgumentException, SecurityException, // IllegalAccessException, or NoSuchFieldException } catch (IllegalArgumentException | SecurityException | IllegalAccessException | NoSuchFieldException e) { // Code to handle all caught exceptions }
重要な考慮事項
multi-catch ブロックで処理するすべての例外は、同じクラス階層に属している必要があることに注意することが重要です。これは、それらが同じスーパークラスのサブクラスであるか、同じインターフェイスを実装する必要があることを意味します。
さらに、catch ブロック ハンドラーでキャッチされた複数の例外を区別する必要がある場合は、instanceof 演算子を使用して、キャッチされた例外の特定のタイプ。
以上がJava はどのようにして複数の例外を同時に処理できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。