在Promise拒绝的情况下,我如何确保只有我创建的错误消息被发送到客户端?
我正在抛出自定义错误,这很有效。
return db.query(`SELECT * FROM events WHERE hostId = ? AND status = ?;`,[userId, ACTIVE_EVENT])
.then((results)=>{
if(results.length != 0)
throw new Error('You already have an active event')
})
最后被抓住了
.catch(function (err) {
console.log(err)
res.status(400).send(err.message)
});
同时向客户端发送友好的错误信息。
但是有时候由于数据库查询语句格式不正确等问题,会出现一些难以理解的错误提示,例如"ER_TRUNCATED_WRONG_VALUE: Incorrect time value:"。