Heim > Java > javaLernprogramm > Verschachtelte Try-Blöcke

Verschachtelte Try-Blöcke

Susan Sarandon
Freigeben: 2024-10-19 14:09:31
Original
931 Leute haben es durchsucht

Blocos try aninhados

Verschachtelte Try-Blöcke:

Ein Try-Block kann in einem anderen Try-Block platziert werden.
Wenn eine Ausnahme nicht im inneren Try-Block abgefangen wird, wird sie an den äußeren Try-Block weitergegeben.

Ausnahmeweitergabe:
Wenn im inneren Block eine Ausnahme auftritt und von diesem nicht behandelt wird, kann sie vom äußeren Block abgefangen werden, sodass das Programm kontrolliert fortgesetzt oder beendet werden kann.

Beispielcode mit verschachteltem Versuch:
Das folgende Beispiel zeigt einen inneren Try-Block, der Fehler bei der Division durch Null behandelt, während der äußere Try-Block Zugriffsausnahmen außerhalb der Array-Grenzen behandelt.

Codebeispiel:

// Usa um bloco try aninhado.
class NestTrys {
    public static void main(String args[]) {
        // O array numer é mais longo que denom.
        int numer[] = { 4, 8, 16, 32, 64, 128, 256, 512 };
        int denom[] = { 2, 0, 4, 4, 0, 8 };

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

Nach dem Login kopieren

Programmausgabe:
Wenn eine Division durch Null auftritt, wird die Ausnahme vom internen Try-Block abgefangen und das Programm wird fortgesetzt.
Wenn ein Indexfehler außerhalb der Grenzen des Arrays auftritt, fängt der äußere Try-Block die Ausnahme ab und beendet das Programm.~

Beispielausgabe:

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.
Fatal error – program terminated.

Nach dem Login kopieren

Praktische Anwendung:

  • Verschachtelte Try-Blöcke ermöglichen die separate Behandlung verschiedener Fehlertypen:
  • Kleinere Fehler (z. B. Division durch Null) können lokal behandelt werden, sodass das Programm fortgesetzt werden kann.
  • Schwerwiegendere Fehler (z. B. Zugriff außerhalb der Grenzen des Arrays) können von der externen Blockierung abgefangen werden, was zu drastischeren Maßnahmen wie der Programmbeendigung führt.

Fazit:

  • Die Verwendung verschachtelter Try-Blöcke ist nützlich, wenn verschiedene Fehlerkategorien auf unterschiedliche Weise behandelt werden müssen.
  • Dies ermöglicht eine größere Flexibilität bei der Steuerung des Programmausführungsflusses, sodass Sie leichte Ausnahmen intern behandeln und schwere Ausnahmen für den externen Block belassen können.

Das obige ist der detaillierte Inhalt vonVerschachtelte Try-Blöcke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage