백엔드/자바

예외에서 finally 블럭

ksge7 2020. 8. 11. 05:13

finally 블럭

finally 블럭은 예외의 발생 여부 상관없이 실행해야할 코드를 넣는 목적으로 쓴다.

 

try-catch문의 끝에 선택적으로 붙여 사용할 수 있다.

 

finally 블럭 사용법

catch 블럭 끝나는 지점에 'finally'에 대괄호 '{ }'를 붙이고 대괄호 안에 실행할 문장을 넣어준다.

 

try { 실행문;

} catch ( 예외) {

대체 실행문;

} finally { finally 실행문;

}

 

public static void main(String[] args) {

	try {  // try 블럭

	System.out.println("예외 finally 테스트입니다.");

	} catch (Exception a) {  // catch 블럭

	System.out.println("예외 finally 테스트2입니다.");

	} finally {  // finally 블럭

	System.out.println("예외 finally 테스트3입니다.");

}

}

 

finally 실행 조건

finally는 앞서 말했듯 예외가 있던 없던 무조건 실행된다. 그래서 finally가 실행되는 방식은 2가지다.

 

◎ 예외가 없을 때 'try' - 'finally' 순으로 실행

◎ 예외가 있을 때 'try' - 'catch' - 'finally' 순으로 실행

 

예외가 있으면 try 블럭을 실행하다가 catch로 넘어가고 실행 후 finally 블럭으로 넘어간다.

예외가 없으면 catch를 제외하고 try - finally 순으로 실행된다.