简体   繁体   中英

Node.js http.createServer how to get error

I am new to node.js and am trying to experiment with basic stuff.

My code is this

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

Here's the question - how can I see the exceptions thrown (or events thrown) when calling createServer ? I tried try/catch but it doesn't seem to work . In module's API I couldn't find any reference to it . I am asking because I accidentally started a server on a taken port(8888) and the error I got (in command-line) was Error : EDDRINUSE , this is useful enough but it would be nice to be able to understand how errors are caught in node .

You can do this by handling the error event on the server you are creating. First, get the result of .createServer() .

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

Then, you can easily handle errors:

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

Print stacktrace of uncaught exceptions using following code.

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

The error is emitted in the listen() method. The API documentation includes an example just for your situtation.

You can use

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

To handle uncaught exceptions. Any unhandled exception from the web server could be caught like this.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM