백엔드/자바
예외에서 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 순으로 실행된다.