2015-04-14 59 views
0

我試圖使用錯誤處理程序,但在使用錯誤處理程序之間沒有差別。 我不知道如何在nodejs中使用errorhandler模​​塊。如何在nodejs中使用errorhandler連接

var app = connect(); 
if (process.env.NODE_ENV === 'development') { 

    console.log('development on'); 
    app.use(errorhandler({log: errorNotification})); 
} 

function errorNotification(err, str, req) { 
    var title = 'Error in ' + req.method + ' ' + req.url; 
    console.log('title'); 
} 

app.use(function (req,res) { 
    res.writeHead(200,{'Content-Type': 'text/html'}); 
    aaaaa(); //to invoke Reference error 
    res.end('Not Hello'); 
}); 

回答

0

這裏的問題是connect按照您註冊的順序應用中間件。因此,您的errorhandler只能處理先前註冊的中間件的錯誤。在大多數情況下,錯誤處理中間件應該是最後一個:

app.use(function (req,res) { 
    // whatever 
}); 

app.use(errorhandler({log: errorNotification}));