我有一些这样的代码:
void myMethod(){
try{
someMethod();
}
catch(std::exception e){
std::cout<<"std::exception"<<std::endl;
}
catch(...){
std::cout<<"..."<<std::endl;
}
}
问题是,当 someMethod
总是打印抛出异常
"..."
。
另外,方法someMethod
不是我写的,我不知道会抛出什么样的异常(没有文档)。
我的问题是,当我处于 catch(...)
时,我如何知道抛出了什么样的异常(其类类型)?阻止?
有时,我的软件会进入 catch(...)
我想知道为什么要捕获异常来挽救这种情况。
有什么想法吗?
最佳答案
无法确定异常类型(尽管您可以将其分配给 std::exception_ptr (c++11),它也不提供类型信息)。
关于c++ - 找出通用 catch C++ 中的异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23640100/