我很擅长处理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或类似的东西,它会被抓住,或者是所有的赌注与严重的东西?
谢谢,没有忘记参考 - 编辑问题来匹配它:) –