向JavaScript Error对象添加属性?

时间:2017-11-12 12:25:46

标签: javascript error-handling javascript-objects

我看到根据MDN - Error文档,Error对象可能在不同的浏览器中有不同的行为。 我想查看您对在默认Error对象上添加属性的看法。

在我的特定代码中,我想标记一个Error对象,并带有我自己的标记名称以供进一步使用,这意味着 - >向对象添加属性,如下所示:

const error = new Error('some message')
if(someConditionExist()){
    error.__myTag = 'tag1';
}
else {
    error.__myTag = 'tag2';
}
//then throwing the error and catch it elsewhere...

我没有看到任何指导这种事情的含义(如果有的话)。

你们有什么顾虑吗?您是否在不同的浏览器中遇到过任何问题?

1 个答案:

答案 0 :(得分:1)

好吧,我们可以说你应该为内置对象添加自定义属性,但是这样的东西可以工作:

class CustomError extends Error {
  constructor(tag) {
    super();
    this.__tag = tag;
  }
};

const customError = new CustomError('tag1');

console.log(customError.__tag); // 'tag1'