프로그래밍 일반 2013. 6. 5. 14:19

enum 간단한 코드로 의미있는 에러코드 출력하기

프로그램이 실행되는 도중에 에러코드가 숫자로 출력되면 해당 에러코드가 어떤 의미인지 코드를 찾아봐야하는 번거로움이 있다.


디파인 함수를 잘 이용하면 단순한 코드로 해당 문제를 상당부분 해소할 수 있다.



샘플 코드 


#define DO_TEXT(e) L#e,

#define DO_ENUM(e) e,


#define CRYPTO(NAME) \

NAME(ERROR_AUTH_SUCCESS) \

NAME(ERROR_AUTH_DECODING_FAILURE) \

NAME(ERROR_AUTH_TOKEN_IS_NOT_VALID)


enum eERROR_CJIJCRYPTO {

CRYPTO(DO_ENUM)

};



TCHAR* szError_CJIJCrypto[] = {

CRYPTO(DO_TEXT)

};



단점은 enum에 주석을 사용할 수 없는 없다는 점인데 의미있는 문자열을 사용하면 간단히 넘어갈 수 있는 문제이다.