5
有人可以在時間闡述時很快速的Node.js應用適當拋出一個錯誤,像這樣:Node.js的使用Express - 拋出錯誤VS未來(錯誤)
throw new Error('my error');
或通過這通過通常標有「下一個」像這樣的回調出錯ON:
next(error);
,你可以請解釋一下他們每個人都會在一個Express應用程序的情況下怎麼辦?
例如,這裏有一個明確的功能處理URL參數:「//我應該在這裏創建自己的錯誤」
app.param('lineup_id', function (req, res, next, lineup_id) {
// typically we might sanity check that user_id is of the right format
if (lineup_id == null) {
console.log('null lineup_id');
req.lineup = null;
return next(new Error("lineup_id is null"));
}
var user_id = app.getMainUser()._id;
var Lineup = app.mongooseModels.LineupModel.getNewLineup(app.system_db(), user_id);
Lineup.findById(lineup_id, function (err, lineup) {
if (err) {
return next(err);
}
if (!lineup) {
console.log('no lineup matched');
return next(new Error("no lineup matched"));
}
req.lineup = lineup;
return next();
});
});
在註釋行 我可以使用「拋出新的錯誤('xyz')」,但究竟會做什麼?爲什麼通常將錯誤傳遞給next'回調'會更好?
另一個問題是 - 如何在拋出控制檯和瀏覽器時顯示新錯誤('xyz')「?