如何捕获并打印未知类型的异常

2024-04-10

我有一些程序,每次运行它时,它都会引发异常。

我不知道如何检查它到底抛出了什么,所以我的问题是:是否可以捕获异常并打印它?


如果它源自std::exception你可以通过参考捕捉:

try
{
    // code that could cause exception
}
catch (const std::exception &exc)
{
    // catch anything thrown within try block that derives from std::exception
    std::cerr << exc.what();
}

但如果例外是某个类不是派生自std::exception,你必须提前知道它的类型(即你应该抓住std::string or some_library_exception_base).

你可以做一个全部:

try
{
}
catch (...)
{
}

但除此之外你什么也做不了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何捕获并打印未知类型的异常 的相关文章

  • MEX 文件中的断言导致 Matlab 崩溃

    我正在使用mxAssert 宏定义为matrix h在我的 C 代码中 mex 可以完美编译 当我调用的 mex 代码中违反断言时 该断言不会导致我的程序崩溃 而是导致 Matlab 本身崩溃 我错过了什么吗 这是有意的行为吗 当我查看 M
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • gdb 在 docker 上立即退出“进程已完成,退出代码 1”或 lldb“数据包返回错误 8”。另外:如何在 docker 中允许进行 C++ 调试

    这花了我一整天的时间才找到 所以我将其发布以供将来参考 我正在 docker 镜像上开发 C 我正在使用克利翁 我的代码是在调试模式下编译的 并且在运行模式下运行良好 但是当尝试调试时 进程会立即退出 并显示非常丰富的信息 Process
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu

随机推荐

  • Firebase .NET 令牌验证

    我们正在开发一个使用 Firebase 进行某些数据存储的项目 我们的客户请求使用 C NET 实现服务器 我们在服务器上设置 REST 端点 以便客户端能够出于某些目的与其进行通信 例如 触发只能在服务器上运行的算法 Firebase 建
  • 我想定制 devise gem 的控制器,是否可以以及如何做?

    有没有办法自定义设备控制器 因为我们可以使用 rails g devise views 生成器命令修改设备视图 这里的目的是在用户注册后立即为当前用户创建一个统计表的行 我为每个用户维护了一个用户统计信息 我只想在用户注册我的网络应用程序时
  • 如何在Linux中列出空文件夹

    在 Linux 中 如何检查目录中的所有文件夹并将所有空目录的名称输出到列表中 请尝试以下操作 find type d empty
  • 当我运行 shell 命令时,有没有办法让我的 emacs 识别我的 bash 别名和自定义函数?

    在我的 shell 环境中 我有别名和自定义函数 当我在 emacs 实例中时 我总是使用emacs nw 然后我执行一个 shell 命令 M 我不能使用它们 这是有道理的 因为我想象它会启动自己的子外壳来执行这些操作 但是有没有办法 也
  • 不。 boost::bind 中的参数

    我们最多可以传递多少个参数给 boost bind 默认为 9 http www boost org doc libs 1 45 0 libs bind bind html NumberOfArguments http www boost
  • 如何将Spring boot日志直接摄取到elastic中

    我正在研究将 Spring Boot 应用程序日志直接发送到 Elastic Search 的可行性 不使用 filebeats 或logstash 我相信 Ingest 插件可能会对此有所帮助 我最初的想法是使用 TCP 上的 logba
  • 使用 Django 应用程序加载 CSS 时出现 Mime 类型问题

    我有一个托管在 Heroku 上的 Django 应用程序 但我的样式表未加载 现在我已经花时间阅读了有关此问题的其他问题 但我相信每种情况都是独一无二的 现在错误如下 拒绝应用 https mazzodjangoapp herokuapp
  • 如何停止.Net Core Web API中的自引用循环?

    我遇到了一些问题 我猜这些问题与使用 NET Core Web API 和 Entity Framework Core 的自引用有关 当我添加一些导航属性的 Includes 时 我的 Web API 开始变得令人窒息 我在较旧的 Web
  • 当存储状态更改时,React 组件不会更新

    下面是我的组件类 该组件似乎永远不会执行 componentWillUpdate 即使我可以在 mapStateToProps 返回之前通过日志记录看到状态更新 状态 100 发生变化 但组件不刷新 import React Compone
  • 从 cellRendererFramework 向父级发出事件

    使用 ag grid 您可以定义您的GridOptions columnDefs列信息包括cellRendererFramework 我有一个正在使用的组件cellRendererFramework其中包括通过单击其模板中的按钮触发的事件
  • 如何将HAR文件导入Excel

    我必须知道有关浏览器 例如 chrome 加载的文档的一些信息 因为检查元素是不错的选择 现在我必须将数据导入到 Excel 中 检查元素允许将数据保存为 har http 存档 文件 如何将网络信息从检查元素保存到 Excel 我的浏览器
  • 根据 Swift 中的 UILabel 文本调整 UIView 高度

    所以我有一个简单的UIView with a UILabel包含在其中 目前 高度UIView是硬编码的 当UILabel文本足够长 内容需要比文本更高的高度UIView提供 有没有一个简单的方法来计算合适的高度UIView为了显示包含的所
  • Django 3.x 错误:“mysql.connector.django”不是可用的数据库后端

    最近将 Django 项目从 2 x 升级到 3 x 我注意到mysql connector django后端 来自mysql connector python 不再有效 它使用的 Django 的最后一个版本是 2 2 11 3 0 就打
  • C++ 中独立于平台的 GUID 生成?

    在 C 中以编程方式生成 GUID 或 UUID 而不依赖于特定于平台的工具的最佳方法是什么 我正在尝试为模拟中的对象创建唯一标识符 但不能依赖 Microsoft 的实现 因为该项目是跨平台的 Notes 由于这是针对模拟器的 所以我 并
  • 存储/访问有向图的最佳方式

    我有大约 3500 个防洪设施 我想将它们表示为一个网络来确定水流路径 本质上是一个有向图 我目前正在使用 SqlServer 和 CTE 递归地检查所有节点及其上游组件 只要上游路径没有大量分叉 这就可以工作 然而 由于增加了上游的复杂性
  • Spring Data JPA更新方法

    我仍在寻找 Spring Data JPA 中的更新方法来更新给定的Object保存在关系数据库中 我只找到了一些解决方案 其中我被迫通过 Query 注释指定某种 UPDATE 查询 与 Modifying 相比 例如 Modifying
  • CodeIgniter SMTP 电子邮件消息 - 用等号替换字符

    我正在使用 CodeIgniter 电子邮件库通过我们的 Exchange 服务器发送电子邮件 我遇到的问题是电子邮件的内容变得混乱 有一些单词被等号 替换 我尝试了 2 个不同的 Exchange 服务器 它们位于不同的位置并且没有任何关
  • anaconda 中使用的 Gcc 版本的 python

    如何更改 anaconda 或虚拟环境中使用的 python gcc 版本 现在当我启动 python 时它显示 GCC 4 4 7 20120313 Red Hat 4 4 7 1 在linux2上 这与系统范围内的相同gcc in us
  • 我的问题是关于 R 的:如何对 R 中表中的每个重复进行编号?

    在我的数据集中 它们是全名列 例如 下面 我想在它旁边添加另一列 提及名称是否使用 R 出现了两次一 二 三 四 次 输出应类似于下面的列 重复次数 例如 数据集名称 People Full name Number of repetitio
  • 如何捕获并打印未知类型的异常

    我有一些程序 每次运行它时 它都会引发异常 我不知道如何检查它到底抛出了什么 所以我的问题是 是否可以捕获异常并打印它 如果它源自std exception你可以通过参考捕捉 try code that could cause except