9장에서는 오류에 대해 알아보았다. 사람의 생각에는 언제나 헛점이 있고, 그 생각을 옮긴 프로그램에서도 오류가 발생하기 마련이다. 설령 논리적으로 완벽한 프로그램이라도 실행 환경에 따라 오류가 생길 수 있다. 여러분은 오류를 찾고 해결하는 여러 가지 방법을 알아보았고, 실행 시간에 발생하는 오류를 예외 처리하는 방법과 직접 예외를 정의하고 발생시키는 방법도 배웠다. 충분히 대비를 했으니 오류를 처리하는 과정이 프로그래밍의 즐거운 한 과정이라는 알 것이다.

9장 요약

  1. 오류 없는 프로그래밍은 없다.
  2. 오류의 종류에는 구문 오류, 실행시간 오류, 논리적 오류가 있다.
  3. 오류가 발생하면 당황하지 말고 차분하게 단서를 수집하고 프로그램의 실행 과정을 생각하자.
  4. 오류 메시지는 오류 해결의 출발점이다. 로그와 테스트로 좀더 복잡한 오류를 해결하기 위한 힌트를 얻을 수 있다.
  5. 스스로 오류를 해결할 수 없을 때는 주위에 물어보거나 인터넷을 검색해볼 수 있다. 하지만 인터넷 검색부터 하는 습관은 금물이다.
  6. 실행시간 오류를 해결하려면 다양한 상황에 대한 예외 처리를 해야 한다. 예외 처리를 수행할 때는 try 문을 사용한다.
  7. 예외는 객체다. class 문으로 새로운 예외 유형을 정의할 수 있다.
  8. 파이썬이 자동으로 잡아주지 않는 오류나 논리 오류가 있을 때는 raise 문과 assert 문을 활용해 적절히 예외를 발생시키자.
  9. 파일과 같은 시스템 자원은 뒷정리가 필요하다. with 문을 이용해 안전하게 뒷정리를 수행할 수 있다.