Google应用脚本无法捕获“ERR_INTERNET_DISCONNECTED”上的异常

时间:2015-12-27 04:36:23

标签: javascript google-apps-script exception-handling connection

我有一个服务器和客户端GAS应用程序。客户端需要在服务器上运行一个功能。如果由于任何原因(如没有互联网连接),连接不成功,我希望它能够优雅地提醒用户。我试过这个,但它不起作用:

try{
     google.script.run
       .withSuccessHandler(onSuccess)
       .myFunction();
     return;
   }
 catch(e){
   alert('Cannot connect to server: ' + e.message());
 }

使用Chrome 46,控制台正确地吐出错误:“net :: ERR_INTERNET_DISCONNECTED”。但是,警报不会出现。控制台还说:“Uncaught NetworkError:由于HTTP 0导致连接失败”。

为什么我无法捕获异常?

编辑:如此处所解释的(https://softwareengineering.stackexchange.com/questions/144326/try-catch-in-javascript-isnt-it-a-good-practice),也许它与调用的异步性质有关。有人可以证实这一点吗?

1 个答案:

答案 0 :(得分:-1)

我想确认是否可以通过google.script.run从HTMLService加载的HTML模板中的JavaScript函数中调用电子表格容器绑定项目中的Apps脚本功能。我最初的发现表明“不”(见下文),但我可能会遗漏一些东西。

google.script.run调用在onclick处理程序调用的JS函数中生成时,始终路由到错误处理函数,并出现以下错误代码:NetworkError:由于HTTP 0导致连接失败。

如果我直接从按钮的onclick处理程序调用google.script.run代码,它就会运行。我希望能够在一个函数中使用它,这样我就可以建立一组数据来传递给我正在计划实现的实际方法。

您看到的错误是因为您关闭了该行的侧栏,切断了与服务器端脚本的连接。