gpt4 book ai didi

javascript - 为什么错误事件未被处理?

转载 作者:行者123 更新时间:2023-12-03 03:04:41 25 4
gpt4 key购买 nike

我非常确定,根据端口号,我的代码中唯一可能引发此错误的位置是以下代码。

try {
webServer = new WebSocketServer({
port: args.listen
});
} catch (exception) {
if (exception instanceof Error) {
logger.log('Could not bind port ' + args.listen + ' for ' + args.name +', already in use.');
}
}

我尝试删除 if 语句,但它没有改变结果。当它运行时,如果端口已经被进程绑定(bind),我会收到以下错误,我想捕获并报告该错误,而不会导致进程退出。

events.js:160 throw er; // Unhandled 'error' event ^

Error: listen EADDRINUSE :::6010
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at Server._listen2 (net.js:1262:14)
at listen (net.js:1298:10)
at net.js:1408:9
at _combinedTickCallback (internal/process/next_tick.js:83:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
at Module.runMain (module.js:606:11)
at run (bootstrap_node.js:383:7)
at startup (bootstrap_node.js:149:9)

为什么这不会被 try...catch 捕获?

最佳答案

我认为你需要尝试一下。我认为这就是我们处理 websocket 错误的方式。

websocket.onerror = function(evt) {
onError(evt)
};

关于javascript - 为什么错误事件未被处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47218164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com