我已经读过Javascript中的诺言,您的错误消息会被if you do not explicitly catch them吞没,但是在这里我没有任何诺言,但它仍在发生。有谁知道为什么会这样以及如何解决?
app.post(`/register-user`, (req, res) => {
corsHandler(req, res, async () => {
try {
throw new Error("Oh look, a dissapearing error")
}
catch (error) {
res.status(500).send({
success: false,
message: "Error creating new user",
error: error
});
}
})
});
响应
{
"success": false,
"message": "Error creating new user",
"error": {}
}
更新
感谢@ mrdeadsven,我看到Error的确出现了,只是不知道为什么它不会将其发回。
我已尝试将错误归类,但仍未通过响应
error: querystring.stringify(error),
更新2:可以运行,但是不知道为什么。
我刚刚将错误添加到变量中,并将该变量添加到响应消息中,现在它可以工作了。我不知道为什么。
const _error: string = error
const responseObj: ReqResponse = {
success: false,
message: "Error 4",
error: _error,
responseCode: ResponseCodeEnum.internalServerError.code
}
答案 0 :(得分:0)
您错过了新操作员:
抛出新错误(“哦,看起来..”);