c++ - 找出通用 catch C++ 中的异常类型

标签 c++ visual-c++ exception

我有一些这样的代码:

   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/

相关文章:

c++ - vfptr 中的 Visual C++ 方法以相反的顺序

c++ - C++ 中的松散抛出说明符错误

Java连接Get请求异常处理

c++ - 从 C++(大量使用 STL)切换到 C 来构建解释器

c++ - 方法调用之前的 le​​a 指令是做什么的?

c++ - 如何从 Windows 平台中的 C++ 应用程序在远程服务器上运行远程服务器的 .exe 二进制文件

Python:在一个完整的项目中组织用户定义的异常

c++ - OpenSSL 解密 - EVP_DecryptFinal_ex 失败

c++ - 在 QT 中从另一个 GUI 线程调用线程时出现问题

c++ - 在 Linux 上运行时覆盖 libstdc++ 搜索路径