我有一个问题,显示自定义JavaScript异常的消息在谷歌Chrome的控制台。我以以下方式声明和抛出异常:
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)中,我只收到此消息:
Uncaught [object object]
我期望得到的(当我抛出Error的实例时我得到的)是这样的东西:
Uncaught Foo: Bar
我已经尝试禁用所有扩展并覆盖toString方法,但无济于事。
我还能做些什么使这些消息正确显示吗?
似乎目前它不是固定的/不正确处理的Chrome。
请参阅Chromium repo: https://code.google.com/p/chromium/issues/detail?id=228909
特别是,最后的注释:
function AssertException(message)
{
"use strict";
var result = new Error(message);
result.name = "AssertException";
return result;
}