我在 Google Chrome 的控制台中显示自定义 JavaScript 异常的消息时遇到问题。我以以下方式声明并抛出我的异常:
var Foo = function(message) {
Error.call(this);
this.message = message;
this.name = "Foo";
}
Foo.prototype = new Error();
Foo.prototype.constructor = Foo;
throw new Foo("Bar");
这在 Internet Explorer 和 Firefox 中正常工作,但在 Chrome(Windows 8 下的 v26.0.1410.64)中我只收到以下消息:
未捕获 [object 对象]
我期望得到的(以及当我抛出Error实例时得到的)是这样的:
Uncaught Foo:酒吧
我尝试禁用所有扩展并覆盖toString方法无济于事。
我还能做些什么来使这些消息正确显示吗?