从节点连接中引发错误,并在服务器错误处理程序中捕获它

Throw an error from within a node connection and catch it in the server error handler

本文关键字:错误 处理 服务器 程序 连接 节点      更新时间:2023-09-26

我想通过抛出服务器级错误来处理我不喜欢传入数据格式的情况。

var net = require('net');
var server = net.createServer(function(c) {
  c.on('data', function() {
    // ***THROW ERROR***
  });
});
server.on('error', function (e) {
    // ***CATCH IT****
});
server.listen(8124);

该示例是对节点文档中的复制和粘贴的快速修改。

我试过throw new Error("error");无济于事!

答案似乎很简单。

var net = require('net');
var server = net.createServer(function(c) {
  c.on('data', function() {
    c.server.emit('error', '!!!simple!!!');
  });
});
server.on('error', function (e) {
    // ***CATCH IT****
});
server.listen(8124);