프로그래머는 최종 사용자(end-user)에게 유용한 오류 메세지를 출력해야 한다. 에러 처리가 난해한 경우가 많은데, 길지는 않지만 약간의 경험에 의하면 오류 메세지를 누구에게 보여줄 것인가, 를 명확히 정하면 에러 처리가 어느 정도 일관성이 있게 되기는 한다. 라이브러리의 경우 그 라이브러리 사용자를 위한 에러 메세지를 출력해야 할 것이고, 일반 GUI 프로그램이라면 최종 사용자를 위한 오류 메세지를 출력하게 될 것이다. 최종 사용자를 위한 오류 메세지가 아래와 같다면 난감하지 않을 수 없다.
아니면,
대체 저 하나은행 오류는 뭘 어쩌라는 거지? 밑의 오류도 마찬가지이다. 두 오류 메세지 모두 프로그래머에게 보여 줄 메세지가 최종 사용자에게 보여진 것 같은데, 최종 사용자 입장에서는 이런 오류를 만났을 때 할 수 있는 일이 거의 없다, 구글링을 제외하면.
일반적으로 최종 사용자를 위한 오류 메세지와 프로그래머가 보기 위한 에러 메세지를 구분하여 코딩할 때, 일일이 없애거나 살리는 것이 번거로울 수 있는데, 이럴 땐 전처리 지시자(preprocessor directive)를 이용하는 것이 한 방법이다. 가령,
#define SHOW_ERROR_MESSAGE_FOR_END_USER
#define SHOW_ERROR_MESSAGE_FOR_DEVELOPER
//#undef SHOW_ERROR_MESSAGE_FOR_END_USER
//#undef SHOW_ERROR_MESSAGE_FOR_DEVELOPER
#define SHOW_ERROR_MESSAGE_FOR_DEVELOPER
//#undef SHOW_ERROR_MESSAGE_FOR_END_USER
//#undef SHOW_ERROR_MESSAGE_FOR_DEVELOPER
위와 같은 메크로와, 저 메크로의 상태에 따라 VERIFY나 ASSERT 처럼 없애거나 살리는 것처럼.
'컴퓨터 > 전산, 그 외' 카테고리의 다른 글
개발이라는 작업, 개발자 (0) | 2011.08.20 |
---|---|
프로그래머와 수학 2 (3) | 2011.08.15 |
테트리스 우승 전략 (2) | 2011.08.01 |
운영체제 사용시 느낀 점 (0) | 2011.06.05 |
백만 개의 데이터(파일)을 다룰 수 있다 (1) | 2011.04.02 |