Princípios de tratamento de erros para aplicativos Node.js + Express.js?
Parece que o relatório / tratamento de erros é feito de maneira diferente no Node.js + Express.js aplicativos em comparação com outras estruturas. Estou correto ao entender que funciona da seguinte maneira?
UMA Detectar erros, recebendo-os como parâmetros para suas funções de retorno de chamada. Por exemplo
doSomethingAndRunCallback(function(err) {
if(err) { … }
});
B) Relatóri erros no MIDDLEWARE chamando next (err). Exemplo
handleRequest(req, res, next) {
// An error occurs…
next(err);
}
C) Relatóri erros em ROUTES, lançando o erro. Exemplo
app.get('/home', function(req, res) {
// An error occurs
throw err;
});
D) Lidar co erros configurando seu próprio manipulador de erros via app.error () ou use o manipulador de erros genérico do Connect. Exemplo
app.error(function(err, req, res, next) {
console.error(err);
res.send('Fail Whale, yo.');
});
sses quatro princípios são a base de todo tratamento / relatório de erros nos aplicativos Node.js + Express.j