Подтвердить что ты не робот

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? Я попытался попробовать/поймать, но он не работает. В API модуля я не мог найти ссылки на него. Я спрашиваю, потому что я случайно запустил сервер на выбранном порту (8888), а ошибка, которую я получил (в командной строке), была Error: EDDRINUSE, это достаточно полезно, но было бы неплохо понять, как пойманы ошибки в node.

4b9b3361

Ответ 1

Это можно сделать, обработав событие ошибки на сервере, который вы создаете. Сначала получите результат .createServer().

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

Затем вы можете легко обрабатывать ошибки:

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

Ответ 3

Распечатайте stacktrace неперехваченных исключений, используя следующий код.

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

Ответ 4

Вы можете использовать

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

Для обработки исключений uncaught. Любое необработанное исключение из веб-сервера можно было бы поймать следующим образом.