ThePragmaticProgrammer knows WhenToUseExceptions in ComputerProgramming.
Exception을 사용함으로써, 프로그램흐름을 명료히 할 수 있고, 특정 Error handling을 해낼 수 있다.
그러나
예외처리를 구현하고자 할때 가장 중요한것은 언제 써먹을까를 아는것이다. 만일 특정일 (파일을 여는일 따위)을 하고자 할 때, 그 파일이 있는지 없는지에 대해 아는바가 없다면, 이건 예외조건에 해당되지 않는다. 에러메세지면 충분하다.
Use Exceptions for exceptional problems
예외목적이 아닌곳에 쓰인 예외처리는 일종의 cascading goto이다. readability, maintainability를 감소시키며, 루틴과 호출자를 coupling시킴으로써 encapsulation을 막는다.