錯誤處理Node.js + Express.js應用程序的原則?


0 Answers

Joyent的人們已經發表了一篇非常有見地的最佳實踐文件 。 任何Node.js開發人員必讀的文章。

Question

與其他框架相比,Node.js + Express.js應用程序中的錯誤報告/處理似乎有所不同。 我的理解是正確的,它的工作原理如下?

A)通過接收它們作為回調函數的參數來檢測錯誤。 例如:

doSomethingAndRunCallback(function(err) { 
    if(err) { … }
});

B)通過調用next(err)來報告 MIDDLEWARE中的​​錯誤。 例:

handleRequest(req, res, next) {
    // An error occurs…
    next(err);
}

C)通過拋出錯誤來報告 ROUTES中的錯誤。 例:

app.get('/home', function(req, res) {
    // An error occurs
    throw err;
});

D)通過app.error()配置自己的錯誤處理程序來處理錯誤,或使用通用的連接錯誤處理程序。 例:

app.error(function(err, req, res, next) {
    console.error(err);
    res.send('Fail Whale, yo.');
});

這四個原則是Node.js + Express.js應用程序中所有錯誤處理/報告的基礎嗎?




Related