我希望Chrome开发工具以与本机浏览器错误相同的用户友好格式记录我的自定义错误对象(扩展Error
)。
目前有以下代码:
console.log(new CustomError('boom'));
console.log(new Error('boom'));
产生以下输出:
相反,我希望我的自定义错误类型与省略号(...
)堆栈跟踪一起显示,扩展后可以使用方便的可点击文件路径。
我当前的错误实现是MDN Custom Error types文档中建议的扩展方法,尽管我也尝试过this和this Stack Overflow回答。
添加了captureStackTrace
支持的MDN实施是:
function CustomError(message) {
this.message = message;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor)
} else {
this.stack = new Error().stack;
}
}
Object.setPrototypeOf(CustomError, Error);
CustomError.prototype = Object.create(Error.prototype);
CustomError.prototype.name = "CustomError";
CustomError.prototype.message = "";
CustomError.prototype.constructor = CustomError;
是否有办法让Chrome Dev Tools将我的自定义错误视为标准错误?