Chrome扩展程序中的异常处理

Kim*_*ble 12 javascript google-chrome-extension

我似乎无法在Chrome扩展程序文档中找到有关异常处理的任何内容.所有的异步apis都很难在没有乱码的情况下使用try/catch语句到处乱码.

如何在我的后台页面中添加一个全局异常处理程序,以便在发生异常时允许我进行一些资源清理?

llu*_*uft 14

您好,您可以通过chrome.extension.lastError参见chrome扩展文档实际获取执行脚本回调中的错误

所以实现应该是这样的:

chrome.tabs.executeScript(tabId, details, function(){
    if (chrome.extension.lastError){
        var errorMsg = chrome.extension.lastError.message;
        if (errorMsg == "Cannot access a chrome:// URL"){
            //Error handling here
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

2017年更新

chrome.extension.lastError.message现已被弃用.lastError实现仍然存在但是仍然存在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
       }
    }
})
Run Code Online (Sandbox Code Playgroud)