我不是很熟悉機器代碼,但我認爲這是一個非常簡單的問題。
如果我想要做的錯誤處理通過一個整數函數返回(而不是函數拋出異常),是更好的做法,從機器代碼的角度來看,以:如果錯誤,然後切換與開關「好」的情況下
- 檢查整數對於「壞」值的條件語句,然後使用switch語句來處理「壞」值,或者切換整數,併爲「好」值(s)提供一個例子「壞」 的值(或多個)
例如,在C++:
enum error_code {E_GOOD, E_BAD, E_UGLY};
error_code func_b();
選項1
void func_a()
{
error_code err_catch = func_b();
if (err_catch)
{
switch (err_catch)
{
case E_BAD:
/* Handle bad case */
break;
case E_UGLY:
/* Handle ugly case */
break;
}
}
}
選項2
void func_a()
{
error_code err_catch = func_b();
switch (err_catch)
{
case E_GOOD:
break;
case E_BAD:
/* Handle bad case */
break;
case E_UGLY:
/* Handle ugly case */
break;
}
}
謝謝您的幫助。
啊,是的,忘了C不會自動執行'typedef'。對C++的小改動。 – cordella 2010-10-03 15:19:12