Javascript 标记一个';未处理';已处理的web工作程序异常

Javascript 标记一个';未处理';已处理的web工作程序异常,javascript,exception-handling,web-worker,Javascript,Exception Handling,Web Worker,我正在尝试测试一些使用web workers的代码。我想检查错误路径是否有效;i、 例如,onError处理程序从web worker中抛出的异常中正确恢复 我遇到的问题是,从web worker传播出去的异常会导致它被视为未经处理。例如,它在浏览器的控制台日志中打印,并导致我的测试环境(围绕业力的简单包装)将测试视为失败。 因此,我如何向浏览器/Karma表明,预期会有一个异常从给定的web worker冒泡出来,并且不应被视为未经处理?我不希望它打印到控制台,我希望我的测试通过 我唯一想到的

我正在尝试测试一些使用web workers的代码。我想检查错误路径是否有效;i、 例如,
onError
处理程序从web worker中抛出的异常中正确恢复

我遇到的问题是,从web worker传播出去的异常会导致它被视为未经处理。例如,它在浏览器的控制台日志中打印,并导致我的测试环境(围绕业力的简单包装)将测试视为失败。

因此,我如何向浏览器/Karma表明,预期会有一个异常从给定的web worker冒泡出来,并且不应被视为未经处理?我不希望它打印到控制台,我希望我的测试通过


我唯一想到的是将web worker代码包装在一个try/catch中,并通过
postMessage
将捕获到的异常封送出去,但这需要丢弃大量信息,因为需要对错误对象进行字符串化(否则它会).

对给定给
onError
处理程序的错误事件对象调用
preventDefault

worker.onError = function(e) {
    e.preventDefault(); // <-- "Hey browser, I handled it!"
    ...
}
worker.onError=函数(e){

e、 preventDefault();//伙计,你用这个答案做了两件事:1.使我过去的3天完全没有效率2.你又为我节省了X天的没有效率的错误泄漏搜索时间谢谢!