使用匿名函数创建错误

时间:2014-04-17 02:46:49

标签: javascript error-handling anonymous-function

可以通过以下方式在JavaScript中创建自定义错误:

function err(message) {
    this.name = "MyError";
    this.message = "Some message";
}
err.prototype = Error.prototype;

throw new err();        //(x) MyError: Some message

然而,我并不是创建一次性使用功能的忠实粉丝。所以我尝试使用匿名函数创建错误:

throw new (function(){
    this.name = "MyError";
    this.message = "Some message";
    arguments.callee.prototype = Error.prototype;
})();                   //(x) [object Object]

enter image description here

它们两者基本相同。但是,此代码生成的错误消息看起来像[object Object],其中包含messagename键(这是正确的,但浏览器不显示我的自定义错误名称和消息。 )

为什么会这样?我该如何解决?

0 个答案:

没有答案