에러 코드와 에러 메시지를 따로 관리하느라 애를 먹는 경우가 많을 것이다.
아마 이런 식으로 귀찮게 관리하는 경우가 많을 것.
switch(errorCode) {
case SUCCESS : return "Success";
case FAILED_TO_OPEN : return "Failed to open";
case FAILED_TO_BIND : return "Failed to bind";
...
case FAILURE : return "Failed to create";
}
C++
복사
이걸 아래처럼 관리하면 자동으로 저런 getErrorMessage()함수나 ENUM을 만들어준다.
외부 인터페이스는 기본적으로 에러코드를 반환한다.
라이브러리 사용자 쪽에서는 에러코드를 반환받고 해당 에러를 출력해볼 수 있도록 설계.