【发布时间】:2019-06-18 06:02:29
【问题描述】:
当指定主机上没有可与之通信的现有 TCP 服务器时,以下代码会导致错误:
const net = require('net');
const argv = require('minimist')(process.argv.slice(2));
try {
var tcpSocket = new net.Socket();
tcpSocket.connect(argv.tcpport, argv.tcphost, function onConnected() {
console.log('connected');
tcpSocket.on('data', function onIncoming(data) {
console.log(data);
});
tcpSocket.on('close', function onClose(data) {
tcpSocketConnected = false;
});
tcpSocketConnected = true;
});
} catch (err) {
console.log("PRINT ME: ", err);
}
错误:
events.js:183 投掷者; // 未处理的“错误”事件 ^
错误:连接 ECONNREFUSED 127.0.0.1:1906 在 Object._errnoException (util.js:992:11) 在 _exceptionWithHostPort (util.js:1014:20) 在 TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
即使我将代码包装在 try...catch 中,我也无法捕捉到错误。
- 为什么我的 catch 块没有捕捉到错误?
- 如何优雅地处理错误?
【问题讨论】:
标签: node.js