[Java Refactoring] 에러 코드를 예외로 치환

728x90
반응형
SMALL

자바로 배우는 리팩토링 입문

  • Java Refactoring For Beginner
  • 건강한 코드로 소프트웨어 체질을 개선하자!
  • 유키 히로시 지금
  • 길벗 출판사
  • 2017.10.31

 

리팩토링을 위한 스터디 내용을 정리하자.

 

 

 

 


에러 코드를 예외로 치환

프로그램이 동작하는 도중에 어떤 에러가 발생하면, 에러에 대해 어떤 처리(에러 처리)를 해야 한다.

 

하지만, 한 메서드 안에 정상 처리와 에러 처리가 혼재하면 프로그램의 흐름을 파악하기 어렵다.

 

어떤 메서드가 실행 중에 에러가 발생했는데 그 메서드 안에서 에러를 처리하지 않는다고 가정하자.

 

이 경우 호출하는 쪽 메서드에 에러를 나타내는 값, 즉 에러 코드를 반환해 에러가 발생했다고 알려야 한다.

 

하지만, 호출하는 쪽에서도 에러 처리를 하지 않고 에러 코드를 다시 상위 메서드에 반환할지도 모른다.

 

그렇게 되면 에러 코드 전파 처리를 프로그램 전체에 집어넣어야 하기에, 올바른 예외 처리가 중요하다.

 

public String test() {
    try {
        testService.getTarget();
    } catch (Exception e) {
        throw new TestException(e.getMessage());
    }

    return "success";
}

public String getTarget() {
    String target = testProvider.getTarget();

    if (isNull(target)) {
        throw new TargetNotFoundException("Target이 존재하지 않습니다.");
    }

    return target;
}

 

책에 나온 예제를 하려 했으나, 2017년 출판이라 그런지 변수 명도 그렇고 예제가 와 닿지 않는다.

 

결론은 호출하는 쪽에서 try - catch 로 예외처리를 하자는 것이다.

728x90
반응형
LIST