마지막으로 finally 블록을 넣어줍니다(이 블록은 생략할 수도 있습니다). finally 블록의 실행문은 예외와 상관없이 무조건 실행됩니다.
try{ 수행할 코드, 예외 발생 가능성이 있는 블록 }catch (발생할 수 있는 예외 타입 변수명) { 예외 처리 블록 }finally{ 예외 발생 여부와 상관없이 무조건 실행하는 블록(생략 가능) }
다시 한번 정리해볼까요? 원래 수행할 코드는 try 블록에 있습니다. 그런데 try 블록에서 예외가 발생하면 발생한 지점부터 try 블록 마지막까지는 실행할 수 없습니다. catch 블록으로 넘어옵니다. 이때 발생한 예외와 catch 블록에 선언해놓은 예외가 맞아야 해당 catch 블록을 실행시킵니다. 따라서 try 블록이나 catch 블록이 반드시 실행할 거라고 예측할 수는 없습니다. 실행할 수도 있고, 안 할 수도 있죠. 그래서 finally 블록이 중요합니다. finally 블록은 반드시 실행하기 때문입니다. 예외 발생 여부와 상관없이 반드시 실행해야 하는 구문이 있다면 finally 블록을 사용합니다. 하지만 그런 구문이 없다면 생략해도 괜찮습니다.
자, 이제 앞의 예제로 예외 처리하는 문법을 사용하겠습니다.