10.2. 处理连接和协议错误
您可以通过覆盖以下 messaging_handler 方法来处理协议级别的错误:
-
on_transport_error(event) -
on_connection_error(event) -
on_session_error(event) -
on_link_error(event)
只要存在事件处理的具体对象的错误条件,就会调用这些事件处理函数。在调用错误处理程序后,也会调用适当的关闭处理程序。
注意
由于在发生任何错误时会调用关闭的处理程序,因此只需要在错误处理程序内处理错误本身。资源清理可以通过关闭的处理程序进行管理。如果没有特定于特定对象的错误处理,则通常使用常规 on_error 处理器,没有更具体的处理程序。
注意
当启用重新连接且远程服务器关闭与 amqp:connection:forced 条件的连接时,客户端不会将其视为错误,因此不会触发 on_connection_error 处理程序。客户端改为开始重新连接过程。