Express 中的錯誤處理

在 Express 中,你可以定義統一的錯誤處理程式來處理應用程式中發生的錯誤。在所有路由和邏輯程式碼的末尾定義處理程式。

var express = require('express');
var app = express();

//GET /names/john
app.get('/names/:name', function(req, res, next){
    if (req.params.name == 'john'){
        return res.send('Valid Name');
    } else{
        next(new Error('Not valid name'));    //pass to error handler
    }
});

//error handler
app.use(function(err, req, res, next){
    console.log(err.stack);    // e.g., Not valid name
    return res.status(500).send('Internal Server Occured');
});

app.listen(3000);