我很擅長處理C/C++中的異常 - 我知道所有關於從std :: exception創建定製類,什麼時候拋出,什麼時候退後一步等簡單的東西,如UNIX errno等。儘管談到訪問COTS代碼,我確實有一件事情我總是有點模糊。C++異常處理失敗
如果我調用一個函數從COTS庫,像這樣:
void DoSomething()
{
try
{
CallCotsFunction();
}
catch (CotsException& ce)
{
//Cots error caught
}
catch (...)
{
//Unknown error caught.
}
}
如果CallCotsFunction()
有差的異常處理或沒有異常處理和執行除以零或什麼的,會得到它傳播到我的異常處理程序?
如果CallCotsFunction()
導致一個sig-11或類似的東西,它會被抓住,或者是所有的賭注與嚴重的東西?
謝謝,沒有忘記參考 - 編輯問題來匹配它:) –