簡體   English   中英

Node.js http.createServer如何獲取錯誤

[英]Node.js http.createServer how to get error

我是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時看到拋出的異常(或拋出的事件)? 我嘗試過try / catch但它似乎不起作用。 在模塊的API中,我找不到任何對它的引用。 我問,因為我不小心在一個端口上啟動了一個服務器(8888),我得到的錯誤(在命令行中)是錯誤:EDDRINUSE,這很有用但是能夠理解如何捕獲錯誤會很好在節點中。

您可以通過在正在創建的服務器上處理錯誤事件來執行此操作。 首先,獲取.createServer()的結果。

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

然后,您可以輕松處理錯誤:

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

使用以下代碼打印未捕獲異常的堆棧跟蹤。

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

該錯誤在listen()方法中發出。 API文檔包含一個僅供您參與的示例

您可以使用

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

處理未捕獲的異常。 來自Web服務器的任何未處理的異常都可能像這樣被捕獲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM