1

我在 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方法无济于事。

我还能做些什么来使这些消息正确显示吗?

4

1 回答 1

0

目前似乎它没有被 Chrome 修复/正确处理。

在 Chromium 存储库中查看此问题: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;
} 
于 2013-07-16T22:12:03.993 回答