這可能是一個微不足道的問題 - 但它對我來說並不明顯,所以我需要一些確認。假設我有一個try-catch塊的功能:C++ try-catch異常處理約定
int function some_crap() {
some_type b;
int a = 10;
try {
a = boost::numeric_cast<int>(b);
}
catch(boost::bad_numeric_cast& e) {
std::cout << e.what() << std::endl;
return a;
}
catch(...) {
//-Handle other unknown exceptions
return a;
}
return a;
}
IIRC,我需要把return a
語句在每個catch
塊的,對不對?同樣在catch
的每個塊中,a
的值將分別爲10
,對不對?
感謝您的時間&興趣。 --T
你可以把一個'返回;在你的函數 –
感謝@Basie的盡頭'聲明。所以你說這個計劃將會在catch塊之外迴歸?這是我不確定的部分。 –
處理未知的例外是不可能的。你可以忽略它們,但那不是真正的「處理」。 – Casey