【发布时间】:2019-07-25 12:59:27
【问题描述】:
我试图在以下语法中抛出错误:
if(err) throw err
我希望通过“console.log(err)”行打印日志,而不是应用程序崩溃。
但是,这会发生应用程序崩溃并显示错误
throw err; // Rethrow non-MySQL errors
^
Error: Error: ER_DUP_ENTRY: Duplicate entry 'test4' for key 'nickname_UNIQUE'
我无法弄清楚为什么会发生这种情况,需要专家的帮助。
代码:
api.post('/', (req, res) => {
const email = req.body.email
const nickname = req.body.nickname
const password = req.body.password
const thumbnail = req.file
const type = req.body.type
const hasherCallback = (err, pass, salt, hash) => {
if (err) throw err
const sql = `INSERT INTO users set ?`
const fields = { nickname, email, 'password': hash, salt, thumbnail, type }
const queryCallback = (err) => {
if (err) throw err
return res.json(messages.SUCCESS_MSG)
}
conn.query(sql, fields, queryCallback)
}
try {
return hasher({ password }, hasherCallback)
} catch (err) {
//handle errors here
console.log(err)
}
})
return api
}
//Error : Error: Error: ER_DUP_ENTRY: Duplicate entry 'test4' for key 'nickname_UNIQUE'
【问题讨论】:
标签: mysql node-mysql mysqljs