未捕获 Mongoose 验证异常
Mongoose validation exception not caught
我正在 MEAN 应用程序中设置用户注册。但是,我正在努力处理错误,尤其是 Mongoose 验证。
在下面的代码中,当我向 API 提供错误的电子邮件时,猫鼬抛出的异常未在我的块中捕获。
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()
}
});
}
如何捕捉这个异常?
你为什么不这样做:
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
}
});
});
您的代码将无法运行,因为 try catch 无法捕获回调中抛出的异常。
我正在 MEAN 应用程序中设置用户注册。但是,我正在努力处理错误,尤其是 Mongoose 验证。
在下面的代码中,当我向 API 提供错误的电子邮件时,猫鼬抛出的异常未在我的块中捕获。
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()
}
});
}
如何捕捉这个异常?
你为什么不这样做:
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
}
});
});
您的代码将无法运行,因为 try catch 无法捕获回调中抛出的异常。