Javaで例外をキャッチする方法

(*-*)浩
リリース: 2019-11-28 15:22:46
オリジナル
3525 人が閲覧しました

Java では、例外をスローする可能性のあるステートメントはすべて try...catch でキャッチできます。例外を引き起こす可能性のあるステートメントを try { ... } に配置し、catch を使用して対応する例外とそのサブクラスをキャプチャします。

Javaで例外をキャッチする方法

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

複数の catch ステートメントを使用でき、各 catch は対応する例外とそのサブクラスをキャプチャします。 JVM は例外をキャッチした後、catch ステートメントを上から下に照合し、特定の catch に照合した後、catch コード ブロックを実行し、その後照合を継続しません。 (推奨学習:

Java Course

単純にPut:複数のキャッチステートメントの1つのみを実行できます。例:

public static void main(String[] args) {    try {
        process1();
        process2();
        process3();
    } catch (IOException e) {
        System.out.println(e);
    } catch (NumberFormatException e) {
        System.out.println(e);
    }
}
ログイン後にコピー

複数のキャッチがある場合、キャッチの順序は非常に重要です。サブクラスを最初に記述する必要があります。例:

public static void main(String[] args) {
    try {
        process1();
        process2();
        process3();
    } catch (IOException e) {
        System.out.println("IO error");
    } catch (UnsupportedEncodingException e) { // 永远捕获不到
        System.out.println("Bad encoding");
    }
}
ログイン後にコピー

上記のコードの場合、UnsupportedEncodingException 例外は IOException のサブクラスであるため、キャッチすることはできません。 UnsupportedEncodingException 例外がスローされると、catch (IOException e) { ... } によってキャッチされ、実行されます。

したがって、正しい書き方はサブクラスを最初に置くことです:

public static void main(String[] args) {    try {
        process1();
        process2();
        process3();
    } catch (UnsupportedEncodingException e) {
        System.out.println("Bad encoding");
    } catch (IOException e) {
        System.out.println("IO error");
    }
}
ログイン後にコピー

以上がJavaで例外をキャッチする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート