주변 장치에 대해 C++로 드라이버를 작성했으며 요컨대 상호 작용 중에 발생할 수있는 많은 오류가 있습니다. 가능한 모든 오류에 대한 오류 코드를 정의했습니다. 사용자가 오류 코드의 의미를 쿼리 할 수있게하는 메서드를 작성하려고합니다.오류 메시지 문자열을 반환하는 방법
나는 총 17 개의 가능한 오류가 있다는 것을 명심하십시오. 해당 메시지의 길이는 다양합니다.
오류 코드를 받아들이고 오류 메시지와 함께 문자열을 반환하는 함수로 해결했습니다. 이 함수는 오류 코드를 사용하여 각 경우에 다음과 같은 다른 오류 메시지를 반환하는 스위치 사례 루틴을 반복합니다.
std::string getErrorMessage(int errorCode)
{
std::string errorMessage = "no error" ;
switch(errorCode) {
case 0:
errorMessage = "no error" ;
break ;
case 10:
errorMessage = "there is a network error" ;
break ;
case 40:
errorMessage = "there is a network or protocol error" ;
break ;
default:
errorMessage = "unknown error" ;
}
return errorMessage ;
}
이 기능은 작동하지만 "꽤"해결책은 아닙니다. 누구든지 더 나은 솔루션을위한 아이디어 나 제안이 있습니까?
힌트 : ** ** 정수를 문자열 값에 매핑합니다. – SirDarius
이 문제는 귀하의 문제 중 가장 적은 것으로 보지만 다른 언어에 대한 다양한 오류 메시지와 같은 국제화에 대해 잠시 생각해보십시오. 너무 많은 소프트웨어가 저주를주지는 않는다. – DevSolar
나는 보통이 방법이나 맵을 사용한다. – drescherjm