11.12 오류 코드를 예외로 바꾸기
리팩터링 전
리팩터링 후
🧷 배경
예외는 프로그래밍 언어에서 제공하는 독립적인 오류 처리 메커니즘으로, 예외가 던져지면 적절한 예외 핸들러를 찾을 때까지 콜스택을 타고 위로 전파된다. 예외는 프로그램의 정상 동작 범주에 들지 않는 오류를 나타낼 때만 쓰여야 한다. 예외를 던지는 코드를 프로그램 종료 코드로 바꿔도 프로그램은 여전히 정상 동작 해야한다. 정상 동작하지 않을 것 같다면, 예외 대신 오류를 검출하여 프로그램을 정상 흐름으로 되돌리게끔 처리해야 한다.
오류 발생에 따른 복잡한 상황에 대처하는 코드를 작성하거나 읽을 일이 없게 해준다.
🧷 절차
콜스택 상위에 해당 예외를 처리할 예외 핸들러를 작성한다.
테스트한다.
해당 오류 코드를 대체할 예외와 그 밖의 예외를 구분할 식별 방법을 찾는다.
정적 검사를 수행한다.
catch
절을 수정하여 직접 처리할 수 있는 예외는 적절히 대처하고, 그렇지 않은 예외는 다시 던진다.테스트한다.
오류 코드를 반환하는 곳 모두에서 예외를 던지도록 수정한다.
모두 수정했다면 그 오류 코드를 콜스택 위로 전달하는 코드를 모두 제거한다. 하나씩 수정할 때마다 테스트한다.
🧷 예시
🧷 리팩터링 전
🧷 리팩터링 후
Last updated