我有一些像这样的代码:
void myMethod(){
try{
someMethod();
}
catch(std::exception e){
std::cout<<"std::exception"<<std::endl;
}
catch(...){
std::cout<<"..."<<std::endl;
}
}
问题是,当someMethod
抛出异常时总是打印
&#34; ...&#34;
。
此外,方法someMethod
不是我编写的,我也不知道可以抛出什么样的异常(没有文档)。
我的问题是,当我在catch(...)
区块中时,我怎么知道抛出了什么样的异常(它的类类型)?
有时,我的软件进入catch(...)
内部,我想知道为什么要捕获异常来保存这种情况。
有什么想法吗?
答案 0 :(得分:1)
无法确定异常类型(尽管您可以将其分配给std :: exception_ptr(c ++ 11),它也不提供类型信息)。