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.
Ответы
Ответ 1
Это можно сделать, обработав событие ошибки на сервере, который вы создаете. Сначала получите результат .createServer()
.
var server = http.createServer(function(request, response) {
Затем вы можете легко обрабатывать ошибки:
server.on('error', function (e) {
// Handle your error here
console.log(e);
});
Ответ 2
Ошибка вызывается в методе listen(). API-документация включает пример только для вашей situtation.
Ответ 3
Распечатайте stacktrace неперехваченных исключений, используя следующий код.
process.on('uncaughtException', function( err ) {
console.error(err.stack);
});
Ответ 4
Вы можете использовать
process.on('uncaughtException', function(e){
console.log(e);
});
Для обработки исключений uncaught. Любое необработанное исключение из веб-сервера можно было бы поймать следующим образом.