Heim >Java >javaLernprogramm >So fangen Sie eine Ausnahme in Java ab

So fangen Sie eine Ausnahme in Java ab

(*-*)浩
(*-*)浩Original
2019-11-28 15:22:463547Durchsuche

In Java kann jede Anweisung, die eine Ausnahme auslösen könnte, mit try...catch abgefangen werden. Fügen Sie Anweisungen, die Ausnahmen verursachen können, in try { ... } ein und erfassen Sie dann mit Catch die entsprechende Ausnahme und ihre Unterklassen.

So fangen Sie eine Ausnahme in Java ab

Mehrere Catch-Anweisungen

Sie können mehrere Catch-Anweisungen verwenden. Jeder Catch erfasst die entsprechende Ausnahme und ihre Unterklasse. Nachdem die JVM die Ausnahme abgefangen hat, stimmt sie mit der Catch-Anweisung von oben nach unten überein. Nach dem Abgleich mit einem bestimmten Catch führt sie den Catch-Codeblock aus und stimmt dann nicht mehr überein. (Empfohlenes Lernen: Java-Kurs )

Vereinfacht ausgedrückt: Mehrere CATCH-Anweisungen können nur ausgeführt werden. Zum Beispiel:

public static void main(String[] args) {    try {
        process1();
        process2();
        process3();
    } catch (IOException e) {
        System.out.println(e);
    } catch (NumberFormatException e) {
        System.out.println(e);
    }
}

Wenn es mehrere Fänge gibt, ist die Reihenfolge der Fänge sehr wichtig: Unterklassen müssen zuerst geschrieben werden. Beispiel:

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");
    }
}

Für den obigen Code kann die UnsupportedEncodingException-Ausnahme nie abgefangen werden, da es sich um eine Unterklasse von IOException handelt. Wenn eine UnsupportedEncodingException-Ausnahme ausgelöst wird, wird sie von Catch (IOException e) { ... } abgefangen und ausgeführt.

Daher ist die richtige Schreibweise, die Unterklasse an die erste Stelle zu setzen:

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");
    }
}

Das obige ist der detaillierte Inhalt vonSo fangen Sie eine Ausnahme in Java ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn