중첩된 try 블록:
try 블록은 다른 try 블록 안에 배치될 수 있습니다.
내부 try 블록에서 예외가 발생하지 않으면 외부 try 블록으로 전파됩니다.
예외 전파:
내부 블록에서 예외가 발생하고 처리되지 않는 경우 외부 블록에서 이를 포착하여 프로그램이 제어된 방식으로 계속되거나 종료될 수 있습니다.
중첩된 try가 포함된 예제 코드:
다음 예에서는 0으로 나누기 오류를 처리하는 내부 try 블록을 보여주고, 외부 try 블록은 배열 경계 외부의 액세스 예외를 처리합니다.
코드 예:
// 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."); } } }
프로그램 출력:
0으로 나누기가 발생하면 내부 try 블록에 의해 예외가 포착되고 프로그램이 계속됩니다.
배열 범위 밖에서 인덱스 오류가 발생하면 외부 try 블록이 예외를 포착하고 프로그램을 종료합니다.~
예제 출력:
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.
실용:
결론:
위 내용은 중첩된 try 블록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!