找出泛型catch C ++中的异常类型

时间:2014-05-13 19:37:35

标签: c++ exception visual-c++ exception-handling

我有一些像这样的代码:

   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(...)内部,我想知道为什么要捕获异常来保存这种情况。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

无法确定异常类型(尽管您可以将其分配给std :: exception_ptr(c ++ 11),它也不提供类型信息)。