Node.js 检查rabbit mq和节点js之间的连接是否关闭

Node.js 检查rabbit mq和节点js之间的连接是否关闭,node.js,rabbitmq,amqp,Node.js,Rabbitmq,Amqp,我可以将rabbit mq exchange连接到我的node.js服务器。但是,如果我从Rabbit MQ UI手动删除exchange,那么是否有任何方法可以从node.js检查交换的内容是否已删除或连接是否已关闭 因为在同一个exchange上发布消息时,node.js崩溃,我无法使用try-catch处理exception。在处理异常后,我想从node.js重新创建exchange exchange.publish(ROUTING_KEY, msg); //here exchange

我可以将rabbit mq exchange连接到我的
node.js服务器
。但是,如果我从Rabbit MQ UI手动删除exchange,那么是否有任何方法可以从
node.js
检查交换的内容是否已删除或
连接是否已关闭

因为在同一个exchange上发布消息时,
node.js
崩溃,我无法使用
try-catch
处理
exception
。在处理
异常
后,我想从
node.js
重新创建exchange

exchange.publish(ROUTING_KEY, msg);  //here exchange is already deleted so throwing below error 

    Error: NOT_FOUND - no exchange 'lutron.poc.incoming' in vhost '/'
    at Exchange._onMethod (F:\workspaces\LutronHeroku_GITnew\lutroncloudserverco
nnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:2091:15)
    at Exchange.Channel._onChannelMethod (F:\workspaces\LutronHeroku_GITnew\lutr
oncloudserverconnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:1533
:14)
    at Connection._onMethod (F:\workspaces\LutronHeroku_GITnew\lutroncloudserver
connector\lutroncloudserverconnector\node_modules\amqp\amqp.js:1056:28)
    at AMQPParser.self.addListener.parser.onMethod (F:\workspaces\LutronHeroku_G
ITnew\lutroncloudserverconnector\lutroncloudserverconnector\node_modules\amqp\am
qp.js:895:12)
    at AMQPParser._parseMethodFrame (F:\workspaces\LutronHeroku_GITnew\lutronclo
udserverconnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:449:10)
    at frameEnd (F:\workspaces\LutronHeroku_GITnew\lutroncloudserverconnector\lu
troncloudserverconnector\node_modules\amqp\amqp.js:190:16)
    at frame (F:\workspaces\LutronHeroku_GITnew\lutroncloudserverconnector\lutro
ncloudserverconnector\node_modules\amqp\amqp.js:175:14)
    at AMQPParser.header [as parse] (F:\workspaces\LutronHeroku_GITnew\lutronclo
udserverconnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:162:14)
    at AMQPParser.execute (F:\workspaces\LutronHeroku_GITnew\lutroncloudserverco
nnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:234:21)
    at Connection.<anonymous> (F:\workspaces\LutronHeroku_GITnew\lutroncloudserv
erconnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:932:12)
Server: worker 4028  died; signal null
exchange.publish(路由密钥,msg)//此处exchange已被删除,因此引发以下错误
错误:未找到-vhost中没有交换'lutron.poc.incoming'/'
在Exchange上使用方法(F:\workspace\LutronHeroku\u GITnew\lutroncloudserverco
nnector\lutroncloudserverconnector\node\u modules\amqp\amqp.js:2091:15)
在Exchange.Channel.\u onChannelMethod(F:\workspace\LutronHeroku\u GITnew\lutr
oncloudserverconnector\lutroncloudserverconnector\node\u modules\amqp\amqp.js:1533
:14)
在连接时。\u onMethod(F:\workspace\LutronHeroku\u GITnew\lutroncloudserver
连接器\lutroncloudserverconnector\node\u modules\amqp\amqp.js:1056:28)
在AMQPParser.self.addListener.parser.onMethod(F:\workspaces\LutronHeroku\u G
ITnew\lutroncloudserverconnector\lutroncloudserverconnector\node\u modules\amqp\am
qp.js:895:12)
在AMQPParser.\u parseMethodFrame(F:\workspaces\LutronHeroku\u GITnew\lutronclo
udserverconnector\lutroncloudserverconnector\node\u modules\amqp\amqp.js:449:10)
在帧端(F:\workspaces\LutronHeroku\u GITnew\lutroncloudserverconnector\lu)
troncloudserverconnector\node\u modules\amqp\amqp.js:190:16)
在帧(F:\workspaces\LutronHeroku\u GITnew\lutroncloudserverconnector\lutro
ncloudserverconnector\node\u modules\amqp\amqp.js:175:14)
在AMQPParser.header[作为解析](F:\workspaces\LutronHeroku\u GITnew\lutronclo
udserverconnector\lutroncloudserverconnector\node\u modules\amqp\amqp.js:162:14)
在AMQPParser.execute(F:\workspaces\LutronHeroku\u GITnew\lutroncloudserverco
nnector\lutroncloudserverconnector\node\u modules\amqp\amqp.js:234:21)
在连接处。(F:\workspace\LutronHeroku\u GITnew\lutroncloudserv
erconnector\lutroncloudserverconnector\node_modules\amqp\amqp.js:932:12)
服务器:4028名工人死亡;信号零

是否有方法捕获此
异常

是否可以添加一些代码来显示如何捕获异常?请尝试{exchange.publish(ROUTING_KEY,msg);}catch(e){console.log('error publishing message',e);createExchange();publish(serverInstanceId,msg);}谢谢gnat的回复。