Javascript从Error()对象中检索错误名称和消息

时间:2017-02-23 19:06:21

标签: javascript

我在简化函数中使用Error()对象抛出一个错误,如下所示:

function errorExample() {
  try {
    throw new Error('ConnectionError', 'cannot connect to the internet')
  }
  catch(error) {
    console.log(error
  }
}

我希望能够从catch语句中访问错误名称和消息。

根据Mozilla Developer Network,我可以通过error.proptotype.nameerror.proptotype.message访问它们,但是上面的代码我收到了未定义的内容。

有办法做到这一点吗?感谢。

3 个答案:

答案 0 :(得分:3)

您误读了文档。

所有Error.prototype个实例上都存在Error上的字段。由于errorError构造函数的一个实例,因此您可以编写error.message

答案 1 :(得分:0)

默认情况下,错误的名称为“错误”,您可以覆盖它:

function errorExample() {
  try {
    var e = new Error('cannot connect to the internet');
    e.name = 'ConnectionError';
    throw e;
  }
  catch(error) {
    console.log(error.name);
    console.log(error.message);
  }
}

请参阅:Error.prototype.name

答案 2 :(得分:0)

  

试试这个

function errorExample() {
  try {
    throw new Error('ConnectionError', 'cannot connect to the internet');
  }
  catch(error) {
    console.log(error.message);
    console.log(error.name);
  }
}
errorExample() ;