自定义Javascript Error.toString()

Bob*_*y B 5 javascript prototypal-inheritance

我的自定义Error类:

function MyError(message) {
  this.message = message || "";
}

MyError.prototype          = new Error();
MyError.prototype.name     = "MyError";
MyError.prototype.toString = function() {
  return "[" + this.name + "] " + this.message;
};
Run Code Online (Sandbox Code Playgroud)

如果我运行,throw new MyError("test")则FF/IE控制台显示默认消息而不是预期消息[MyError] test.

如何让JS引擎使用我的toString()方法?

Bob*_*y B 3

我可能是错的,但我认为这种情况下的控制台输出是由 JS 引擎控制的,所以你不能像我上面所做的那样格式化它。