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