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."); } } }
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.
Praktische Anwendung:
Fazit:
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!