第 9 章 错误处理
红帽构建的 Rhea 中的错误可以通过截获与 AMQP 协议或连接错误对应的命名事件来处理。
9.1. 处理连接和协议错误
您可以通过截获以下事件来处理协议级别的错误:
-
connection_error
-
session_error
-
sender_error
-
receiver_error
-
protocol_error
-
错误
每当事件中存在带有特定对象的错误条件时,这些事件都会触发。调用错误处理程序后,也会调用对应的 & lt;object> _close
处理程序。
event
参数具有用于访问 error
对象的 error 属性。
示例:处理错误
container.on("error", function (event) { console.log("An error!", event.error); });
注意
由于在出现任何错误时调用关闭处理程序,因此仅需要在错误处理程序中处理错误本身。资源清理可以通过关闭的处理程序来管理。如果没有特定于特定对象的错误处理,则通常要处理常规 错误事件
,且没有更具体的处理程序。
注意
当启用重新连接且远程服务器关闭具有 amqp:connection:forced
条件的连接时,客户端不会将其视为错误,因此不会触发 connection_error
事件。相反,客户端会开始重新连接过程。