Node.js http.createServer如何获取错误

我是node.js的新手,正在尝试使用基本的东西。

我的代码是这样的

var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888); 

下面是一个问题 – 在调用createServer时,如何看到引发的exception(或引发的事件)? 我尝试尝试/赶上,但似乎并没有工作。 在模块的API中我找不到任何引用。 我问,因为我不小心启动了服务器上的一个采取的端口(8888),我得到的错误(在命令行中)是错误:EDDRINUSE,这是足够有用,但它能很好地了解如何捕获错误在节点中。

您可以通过处理正在创build的服务器上的错误事件来完成此操作。 首先得到.createServer()的结果。

 var server = http.createServer(function(request, response) { 

那么,你可以很容易地处理错误:

 server.on('error', function (e) { // Handle your error here console.log(e); }); 

这个错误是在listen()方法中发出的。 API文档仅包含一个适用于您的问题的示例 。

使用以下代码打印未捕获exception的堆栈跟踪。

 process.on('uncaughtException', function( err ) { console.error(err.stack); }); 

您可以使用

 process.on('uncaughtException', function(e){ console.log(e); }); 

处理未捕获的exception。 任何来自Web服务器的未处理exception都可能被这样捕获。