손영배 블로그 누구나 쉽게 이해하고 습득하기

try catch finally 실행순서 본문

Interview

try catch finally 실행순서

손영배 2019. 9. 2. 19:32
  1.  예외 발생 시    try -> catch -> finally의 순서로 실행되고
     예외 미발생 시 try -> finally의 순서로 실행
  2. try 또는 catch 블럭에서 return 문을 만나도 finally불럭은 수행됩니다.

 

try {

// 프로그램 실행 로직

 

} catch(Exception e) {

// 예외발생 시의 로직

 

} finally {

/* 

1. 기본 실행 순서:

try문에서 예외가 발생하지 않았으면 catch문은 생략되어 try문이 실행된 이후에 finally문이 실행되고, 

try문에서 예외가 발생했으면 try문, catch문 순서로 실행된 이후에 finally문이 실행된다.

try문이나 catch문 안에 return문 또는 throw문이 있다면, 그 return문 또는 throw문 전까지 로직이 실행된 후 finally문이 실행되고 나서 그 return문 또는 throw문이 실행된다(결론적으로 finally문은 무조건 실행된다).

 

2. catch문과 finally문 안에 throw문이 있는 경우:

try문에서 예외가 발생했으면, finally문 안에 있는 throw문이 먼저 실행되기 때문에 catch문 안에 있는 throw문은 실행되지 않는다.

*/

 

 

 

}



출처: https://soohyeon317.tistory.com/entry/trycatchfinally-실행-순서 [Dean Story]