来自nodejs的示例控制台输出,我可以访问,
error.code
error.errno
error.sqlState
error.index
但如何访问此字符串,其中显示" Column 'name' cannot be null
答案 0 :(得分:1)
答案 1 :(得分:0)
error.message
可以解决问题
如果您的error.message = "ER_BAD_NULL_ERROR: Column 'name'
不能为空"而您只对"列'名称'感兴趣不能为null" 您可以创建自己的自定义错误类(对于此特定的sql错误)并使其仅返回冒号的后半部分。逻辑就像
if(error.sqlState !== undefined){
// only do it for sql error
throw new CustomSqlError(error);
}
等等
function CustomSqlError(err){
if(err && (err.sqlState!== undefined)){
this.err = err;
}
}
util.inherits(CustomSqlError, Error); // needs require("util");
CustomSqlError.prototype.getMsgWithutSQlCode = function(){
if(typeof this.message == "string"){
return (this.message.split(":"))[1].trim();
}
}