如何在nodejs中显示错误详细信息

时间:2015-05-21 09:32:58

标签: node.js

来自nodejs的示例控制台输出,我可以访问,

error.code

error.errno

error.sqlState

error.index

但如何访问此字符串,其中显示" Column 'name' cannot be null

enter image description here

2 个答案:

答案 0 :(得分:1)

要获取可打印的消息,您可以使用

error.toString();

或者获取实际消息,

error.message;

Docs

答案 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();
  }
}