【问题标题】:Identifying a function name or property in Javascript [duplicate]在Javascript中识别函数名称或属性[重复]
【发布时间】:2020-09-17 21:46:21
【问题描述】:

我正在使用一个 npm 模块,它会在出错时抛出一个空函数,即UnauthorizedException。我希望能够识别抛出的函数,以便我可以相应地处理它

function UnauthorizedException() {

}

const f = () => {
  throw (new UnauthorizedException());
};

try {
  f();
} catch (err) {
  // How to identity a function name/property/etc so I can handle the error accordingly
  console.log(err);
  console.log(typeof (err));
}

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    UnauthorizedException 函数用作构造函数。您可以使用 instanceof 运算符检查对象是否是从构造函数创建的:

    function UnauthorizedException() {}
    
    const f = () => {
      throw (new UnauthorizedException());
    };
    
    try {
      f();
    } catch (err) {
      console.log(err instanceof UnauthorizedException);
    }

    【讨论】:

    • 如果这 is 是答案,那么,这肯定是 this 和其他一堆的副本吗?
    • 对不起,我不知道它是重复的。是的,这就是我正在寻找的,即 instanceof。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 2012-12-20
    相关资源
    最近更新 更多