더북(TheBook)

프로그램을 실행하고 한 자리 수인 6과 2를 입력하면 계산 결과와 함께 finally 문에 정의한 print() 문을 실행합니다. 다시 실행해서 오류가 발생하도록 10과 5를 순서대로 입력합니다. 오류가 발생하고 한 자리 숫자만 입력하라는 오류 메시지와 함께 이번에도 finally 문이 실행되는 것을 볼 수 있습니다.

이와 같이 try 문의 마지막에 finally 문을 추가해서 오류 발생 여부와 상관없이 항상 실행되는 코드를 작성할 수 있습니다. 보통 try 문에서 파일이나 자원을 사용할 때 finally 문에서 열린 파일을 닫거나 자원을 해제하는 작업을 수행합니다. 그러면 프로그램이 실행되는 과정에서 오류가 발생하고 예외 처리가 제대로 되지 않더라도 자원은 정상적으로 해제할 수 있습니다.

마치 시험을 앞둔 학생이 쉬는 시간에 여러 책을 마구 펼쳐 놓고 열심히 공부하다가 시험 시간이 되면 공부가 끝나건 말건 모든 책을 덮는 것과 비슷하다고 보면 됩니다. 이때 쉬는 시간이 try 문이 실행되는 부분이고, 시험 시간이 finally 문이 실행되는 부분입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.