10.2. 处理连接和协议错误


您可以通过覆盖以下 messaging_handler 方法来处理协议级错误:

  • on_transport_error(proton::transport&)
  • on_connection_error(proton::connection&)
  • on_session_error(proton::session&)
  • on_receiver_error(proton::receiver&)
  • on_sender_error(proton::sender&)

每当事件发生特定对象时,这些事件处理例程都会调用。在调用错误处理程序后,也会调用相应的关闭处理程序。

如果没有覆盖多个更具体的错误处理程序,则调用默认错误处理程序:

  • on_error(proton::error_condition&)
注意

由于在出现任何错误时调用关闭处理程序,因此仅需要在错误处理程序中处理错误本身。资源清理可以通过关闭的处理程序来管理。如果没有特定于特定对象的错误处理,则通常使用常规 on_error 处理程序,且没有更具体的处理程序。

注意

当启用重新连接并且远程服务器关闭具有 amqp:connection:forced 条件的连接时,客户端不会将其视为错误,因此不会触发 on_connection_error 处理程序。相反,客户端会开始重新连接过程。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部