public static void main(String[] args) {
try {
System.out.println("외부 try");
try {
System.out.println("내부 try");
Exception e = new Exception();
throw e;
} catch (Exception e) {
System.out.println("내부 try catch문 exeption : " + e);
System.out.println("예외 던지기 한번 더");
throw e;
}finally {
System.out.println("finally 구문 출력");
}
} catch (Exception e) {
System.out.println("외부 try - catch exception : " + e);
}
System.out.println("종료");
}
- 첫 번째
외부 try문 실행
- 두 번째
내부 try문 실행
, Exception객체
생성 후,
고의로 예외 발생
시킴.
예외발생
되었으니, 내부 catch문
실행
문자열 출력 후, 다시 고의로 예외 발생
시킴.
예외가 다시 발생
되었지만, 내부의 finally문 실행
후,
외부 catch문
으로 이동
외부 catch문
실행 후 try - catch문 종료