我如何从异步函数中捕获JS异常,我不控制

How can I catch JS exceptions from async functions I don't control?

本文关键字:JS 异常 控制 异步 函数      更新时间:2023-09-26

我知道使用try..catch异步函数不起作用,我读过的大多数建议都建议在传递的回调中使用它。

但是,如果不能控制抛出异常的异步函数,如何才能捕获它呢?在我的例子中,它是chrome.bookmarks.create,在某些边缘情况下失败。

在Chrome扩展中,有两种可能的方法来捕获异步错误:

  • 使用window.onerror监听全局错误事件
  • 在异步函数回调中,检查chrome.runtime.lastError的值

在一般情况下,没有办法捕获第三方函数的异常,您必须使用其他人提供的错误处理方法。

在Chrome的扩展API的情况下,你有lastError属性。享受。