当我使用if语句处理错误时,为什么mongo仍然会抛出错误

时间:2017-12-28 01:44:16

标签: node.js mongodb

我故意通过以下代码尝试创建重复的密钥错误。

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})处抛出错误并且应用程序停止。

这是为什么?以及如何正确捕捉此错误?

0 个答案:

没有答案