我故意通过以下代码尝试创建重复的密钥错误。
let repoTemplate = new RepoTemplate({
name: templateName, //mongoose schema - unique
creator: req.user.username,
sheetsInfo: {
calc: calcObj,
result: resultsObj,
data: dataObj,
reference: referecneObj
}
});
repoTemplate.save((err) => {
if (err) {
logger.error(messageCreator.log.error.saveError(req.user.username, curRoute, 'repoTemplate', err));
//TODO error handling
return res.json({success: false}); //Throws error
}
})
repoTemplate
是一个猫鼬独特字段,我故意使用Mongodb
中已存在的名称。虽然我使用if语句处理错误,但仍然会在return res.json({success:false})
处抛出错误并且应用程序停止。
这是为什么?以及如何正确捕捉此错误?