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문안의 예외가 발생한 이후의 문장실행되지 않는다.

댓글()
구독