try 문 블록과 finally 문 블록에는 return 문이 있지만, catch 문 블록에는 return 문이 없습니다.
코드는 다음과 같습니다:
publicclassMain{publicstaticvoidmain(String[]args){System.out.println(test2());}publicstaticinttest2(){inti=10;try{System.out.println(try 문);return--i;}catch( 예외){System.out.println(catch 문);}finally{System.out.println(finally 문);return--i;}}}
실행 결과는 다음과 같습니다.
try 문 finally 문 8
실행 순서:
1. 먼저 return 문에 있는 표현식 연산을 포함하여 try 블록의 문을 실행하지만 반환하지는 않습니다.
2. finally 문 블록의 모든 코드를 실행합니다.
3. 마지막으로 finally 문 블록에 return 문이 있는 것을 발견하고 여기에서 돌아옵니다.