【问题标题】:Find out type of exception inside generic catch C++ [duplicate]找出通用catch C++中的异常类型[重复]
【发布时间】:2014-07-01 15:35:18
【问题描述】:

我有一些这样的代码:

   void myMethod(){
      try{
        someMethod();
      }
      catch(std::exception e){
        std::cout<<"std::exception"<<std::endl;
      }
      catch(...){
        std::cout<<"..."<<std::endl;
      }
  }

问题是,当someMethod 抛出异常时,总是会打印

“……”

。 还有someMethod这个方法不是我写的,不知道会抛出什么样的异常(没有文档)。

我的问题是,当我在 catch(...) 块中时,我怎么知道抛出了什么样的异常(它的类类型)?

有时,我的软件会进入 catch(...) 内部,我想知道为什么会捕获异常来保存这种情况。

有什么想法吗?

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 2023-03-08
    • 2011-08-05
    • 1970-01-01
    • 2014-07-24
    相关资源
    最近更新 更多