Chrome 扩展程序中的异常处理
Exception handling in Chrome extensions
我似乎在Chrome扩展文档中找不到有关异常处理的任何内容。所有的异步 API 使得如果不到处乱扔带有 try/catch 语句的代码变得非常困难。
如何将全局异常处理程序添加到我的后台页面,以便在发生异常时执行一些资源清理?
您可以使用chrome.runtime.lastError
以下命令在执行脚本回调中获取错误:
chrome.tabs.executeScript(tabId, details, function() {
if (chrome.runtime.lastError) {
var errorMsg = chrome.runtime.lastError.message
if (errorMsg == "Cannot access a chrome:// URL") {
// Error handling here
}
}
})
我无法找到全局错误处理程序,但我能够提出一个同样有效的解决方案。
不过,这确实取决于您调用的方法。我的大部分错误来自在chrome://
页面或Chrome网上商店页面上调用chrome.tabs.executeScript()
。此函数的最后一个参数是包含 results
数组的回调。我发现如果这是undefined
我会收到错误。通过这种方式,我能够设置一个简单的错误处理功能,以便在出现错误时通知用户。
chrome.tabs.executeScript(null, {file: '/path/to/file.js'}, function(results) {
if (results === undefined) {
// Fire error handling code
}
});
同样,Idk 如果这适用于您调用的方法,但我能够以这种方式做我想做的事情。
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- Adobe Edge:动画完成时添加onComplete处理程序
- 是否可以从输入处理程序中确定输入的类型
- 在循环中附加事件处理程序时出现浏览器性能问题
- 角.如何在视图中显示异常处理程序的错误
- 如何使工作 Chrome 扩展程序的未捕获异常处理程序(由于 CORS 保护而不起作用)
- node.js Q promise不会通过拒绝处理程序传播异常
- Vert-x 3.3.2 HTTP客户端异常处理程序
- 异常处理程序不捕获异常
- 如何将被拒绝的承诺转换为异常,并从Express路由处理程序抛出该异常?
- Angular2异常处理程序-检查错误对象是否为响应
- 节点.js中的异常处理程序
- Chrome 扩展程序中的异常处理
- jQuery:全局异常处理程序
- 为什么chrome仍然记录404(未找到)错误,即使在onError处理程序捕获异常后,丢失的图像
- AJAX POST 处理程序导致“未捕获的异常”