第 10 章 错误处理


AMQ C++ 中的错误可以通过两种不同的方式处理:

  • 捕获例外
  • 覆盖事件处理功能以截获 AMQP 协议或连接错误

捕获例外是最基本但最精细的方法来处理错误。如果没有在处理程序函数中使用覆盖处理错误,则会抛出异常。

10.1. 捕获例外

如果没有在事件处理函数中使用覆盖处理错误,则 容器运行 方法会抛出异常。

AMQ C++ 丢弃从 proton::error 类继承的所有例外,后者又从 std::runtime_errorstd::exception 类继承。

以下示例演示了如何捕获 AMQ C++ 中抛出的异常:

示例:特定于 API 的异常处理

try {
    // Something that might throw an exception
} catch (proton::error& e) {
    // Handle Proton-specific problems here
} catch (std::exception& e) {
    // Handle more general problems here
}
Copy to Clipboard Toggle word wrap

如果您不需要特定于 API 的异常处理,您只需要捕获 std::exception,因为 proton::error 会继承它。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat