예외는 프로그램을 죽이기 위해 던져라

프로그램은 죽기 마련이다

프로그램의 정상적인 흐름에 방해가 되는 케이스가 발생했을때 더이상 프로그램의 동작을 감당하지 못할 경우 프로그램은 죽어야 합니다. 다만, 예외를 던짐으로서 프로그램이 이런 이상 흐름에 대해서 아무런 대처도 못하고 죽는 것보다는 마지막 소임을 다하고 죽을 수 있는 기회를 제공할 수 있습니다.

모든 이상 흐름이 프로그램을 죽일 필요는 없다

하지만 프로그램의 정상적인 흐름은 아니지만 새로운 흐름을 만들어 프로그램의 동작을 제어하고 충분히 정상적으로 종료시킬 수 있는 경우는 예외를 던지지 말고 리턴 코드 등과 같은 방법으로 프로그램의 흐름을 변경해야 합니다.

프로그램을 죽임으로써 모든 이가 행복해진다

프로그램의 흐름을 바꾸어 충분히 정상적인 동작 상태로 되돌리거나 그렇지 않더라도 종료 조건까지 이어질 수 있는 경우에서도 예외를 던진다면 예외를 어떻게 잡고, 어느 정도의 코드 블록에서 예외를 잡아야 하는지 등 예외를 던지고 받기 위해 너무 많은 고민을 해야합니다.

반면에 프로그램을 죽이기 위해 예외를 던진다면 예외로 인한 비정상적이나 정상적으로 보이는 프로그램의 엉뚱한 흐름이 생기지도 않으며 예외 처리에 대한 많은 고민 거리가 사라집니다. 프로그램 전체에서 예외를 잡아 프로그램이 이상하게 죽기전에 필요한 처리를 마무리하고 안전하게 죽이는 것으로 충분하기 때문입니다.

Comments are closed.

Website Built by WordPress.com.

Up ↑