我已經用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