ホームページ >Java >&#&チュートリアル >複数の catch ステートメントの使用

複数の catch ステートメントの使用

DDD
DDDオリジナル
2024-10-19 14:08:31851ブラウズ

Usando várias instruções catch

複数の catch ステートメント:

  • try ブロックを複数の catch ステートメントに関連付けて、さまざまなタイプの例外をキャッチできます。
  • 各キャッチは特定の例外を処理します。

さまざまな例外を処理する例:

次のプログラムは 2 種類の例外をキャッチします:
ArithmeticException (ゼロ除算)。
ArrayIndexOutOfBoundsException (配列の境界外へのアクセス).

コード例:

class ExcDemo4 {
    public static void main(String args[]) {
        // O array numer é maior que denom.
        int numer[] = { 4, 8, 16, 32, 64, 128, 256, 512 };
        int denom[] = { 2, 0, 4, 4, 0, 8 };

        for (int i = 0; i < numer.length; i++) {
            try {
                // Tenta realizar a divisão
                System.out.println(numer[i] + " / " + denom[i] + " is " + numer[i] / denom[i]);
            } catch (ArithmeticException exc) {
                // Captura e trata a exceção de divisão por zero
                System.out.println("Can't divide by Zero!");
            } catch (ArrayIndexOutOfBoundsException exc) {
                // Captura e trata a exceção de acesso fora dos limites do array
                System.out.println("No matching element found.");
            }
        }
    }
}

プログラム出力:

  • プログラムは正しい除算の結果を表示します。
  • ゼロによる除算が発生すると、それが処理されます。
  • denom インデックスが存在しない場合、配列制限例外が処理されます。

出力例:

4 / 2 is 2
Can't divide by Zero!
16 / 4 is 4
32 / 4 is 8
Can't divide by Zero!
128 / 8 is 16
No matching element found.
No matching element found.

catch ブロックの実行:
各 catch は、コード内で発生する順序でチェックされます。
見つかった例外のタイプに対応するキャッチのみが実行され、その他は無視されます。

複数のキャッチを使用する利点:

  • さまざまなタイプの例外を特定の方法で処理できるようになり、コードがより堅牢になります。

結論:

  • 複数の catch ステートメントを使用すると、さまざまな種類の例外をキャッチして適切に処理し、エラーが発生した場合でもプログラムの実行を継続できるようになります。

以上が複数の catch ステートメントの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。