4년 전 현재 직장입사 후 약 한 달 정도 함께 근무하였던 임도형 님의 예외처리에 대한 명 ppt 2개를 소개한다.
첫번째 ppt 는 java 예외 처리의 원칙에 대한 내용이고
두번째 ppt 는 언제 어디에 예외를 남길지에 대한 내용이다.
요약하면
- 발생하는 예외를 뭉개지 마라. IDE로부터 자동생성된 e.printStackTrace() 만 남기는건 아무 처리도 안하는 것 만 못하다.
- caller / callee 의 경계에서 예외를 처리하면 로그의 중복/누락을 방지할 수 있다.
- 해당 상황을 인지할 수 있는 충분한 정보를 남겨라.
부연하자면
Exception 이란 정의되지 않은 동작을 처리하는 규약이다. 개발자가 정의한 io 의 범주를 벗어날지라도 우리는 이를 처리하는 규약을 정의할 수 있다.
java 에는 크게 두 가지 Exception 이 존재한다.
- CheckedException
- UncheckedException(=RuntimeException)
CheckedException 의 경우, 처리의 기준이 명백하고 프로그램은 복구가 가능하다. 처리에 크게 고민할 필요가 없다.
문제는 RuntimeException이다. RuntimeException이 발생하였다는 것은 이 프로그램이 복구 불가능한 상태에 진입하였다는 의미이다. 아래 소개된 임도형 님의 ppt 는 RuntimeException 을 어떻게 잘 처리할지에 대한 내용이다. Exception 처리같은 경우 충분한 경험이 없다면 매끄럽게 해결하기가 어려운데, 이 ppt는 실천적인 가이드를 제시해주는 매우 훌륭한 자료이므로 java 개발자라면 반드시 한번은 읽어볼 필요가 있다.
댓글 남기기