【发布时间】:2023-03-25 12:35:01
【问题描述】:
我正在尝试测试一些使用网络工作者的代码。我想检查错误路径是否有效;即,onError 处理程序正确地从 web worker 中抛出的异常中恢复。
我遇到的问题是从网络工作者传播的异常导致它被认为是未处理的。例如,它会打印在浏览器的控制台日志中,并导致我的测试环境(Karma 的一个简单包装器)认为测试失败。
那么,我如何向浏览器/Karma 表明预期会从给定的 Web Worker 中冒出异常,并且不应将其视为未处理?我不希望它打印到控制台,我希望我的测试通过。
我想出的唯一想法是将 web worker 代码包装在 try/catch 中,并通过 postMessage 编组捕获的异常,但这需要丢弃大量信息,因为需要将错误对象字符串化(否则为triggers a data clone error)。
【问题讨论】:
标签: javascript exception-handling web-worker