我正在MEAN应用中设置用户注册。但是,我正在努力处理错误,特别是使用Mongoose验证。
在下面的代码中,当我向我的API提供了错误的电子邮件时,我的块中没有捕获mongoose抛出的异常。
try {
User.save(function (err, user) {
if (err) throw err; //This exception in not catched :(
res.status(200).json({
_status: 200,
_content: {
message: "OK",
data: user
}
});
});
} catch (err) {
res.status(400).json({
_status: 400,
_content: {
message: err.toString()
}
});
}
如何捕获此异常?
答案 0 :(得分:1)
为什么不这样做呢:
User.save(function (err, user) {
if (err) {
return res.status(400).json({
_status: 400,
_content: {
message: err.toString()
}
});
}
res.status(200).json({
_status: 200,
_content: {
message: "OK",
data: user
}
});
});
您的代码无法正常工作,因为尝试catch无法捕获回调中抛出的异常。