如何在node.js中连接unix-socket时捕获错误

问题描述 投票:0回答:1

以下代码不起作用:

#!/usr/local/opt/node-0.10.24/bin/node

var net = require('net');

try {
  socket = net.connect("/tmp/test",function () {
    socket.on('error', function(err) {
      console.log("err");
    });
  });
} catch(err) {
  console.log("err");
}

如果出现错误,我该如何捕获它?在这个例子中我得到一个: ENOENT 或 ECONNREFUSED (mkfifo /tmp/test)。它不应该打印“err”吗?

node.js sockets unix
1个回答
2
投票

您没有足够快地添加错误处理程序。你也可以去掉 try-catch:

var socket = net.connect("/tmp/test", function() {
  // connected
});
socket.on('error', function(err) {
  console.log("Error: " + err);
});
© www.soinside.com 2019 - 2024. All rights reserved.