【发布时间】:2016-06-12 18:59:15
【问题描述】:
以下是我的代码:
const http = require('http');
var server1 = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('request successfully proxied!' + '\n' + JSON.stringify(req.headers, true, 2) + '\n' + req.url);
res.end();
throw new Error("Error!!!");
});
server1.on("error", err=>console.log(err));
server1.listen(5060);
为什么 server1.on("error", ...) 没有处理回调抛出的异常并且进程停止了? 如果这样的异常不能通过监听“error”事件来处理, 我该如何处理这样的异常,让 http 服务器从那时起仍然可以正常运行?
【问题讨论】:
-
server1.on中的error是指服务器发出的error事件,而不是像您的情况那样抛出的错误对象。要处理抛出的错误,您需要try-catch。
标签: javascript node.js http server