Java 05 try - catch 문에서의 흐름
자바/8. 예외처리2021. 4. 1. 17:34
① try문 내에서 예외가 발생한 경우
1. 발생한 예외와 일치하는 catch문이 있는지 확인한다.
2. 일치하는 catch블럭을 찾게 되면, 그 catch문 내의 문장들을 수행하고 전체 try-catch문을 빠져나가서 그 다음 문장을 계속해서 수행한다. 만일 일치하는 catch문을 찾지 못하면 예외는 처리되지 못하며, 프로그램이 비정상적으로 종료.
② try문 내에서 예외가 발생하지 않은 경우
- catch문을 거치지 않고 전체 try-catch문을 빠져나가서 수행을 계속한다.
package ch08;
public class EX_8_1 {
public static void main(String[] args) {
System.out.println(1);
try{
System.out.println(2);
System.out.println(3);
} catch(Exception e) {
System.out.println(4); //예외가 없으므로 실행되지 않는다.
} // try-catch문의 끝
System.out.println(5);
}
}

예외가 없으므로 예외가 발생하지 않는다.
package ch08;
public class Ex_8_2 {
public static void main(String[] args) {
System.out.println(1);
try {
System.out.println(0/0); // 고의로 예외발생시킴.
System.out.println(2); // 실행되지 않는다.
}catch(ArithmeticException ae) {
System.out.println(3);
} // try-catch 문의 끝
System.out.println(4);
} // main 메소드의 끝
}

try문 안의 0/0에서 ArithmeticException이 발생하여 catch문 중에 ArithmeticException 이 있는곳으로 이동하여 실행
try문안의 예외가 발생한 이후의 문장은 실행되지 않는다.
'자바 > 8. 예외처리' 카테고리의 다른 글
Java 07 printStackTrace( )와 getMessage( ) (0) | 2021.04.02 |
---|---|
Java 06 예외의 발생과 catch문 (0) | 2021.04.01 |
Java 04 예외 처리하기 try - catch 문 (0) | 2021.04.01 |
Java 03 Exception과 RuntimeException (0) | 2021.04.01 |
Java 02 예외 클래스의 계층 구조 (0) | 2021.04.01 |
댓글()