我有一个服务器和客户端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),也许它与调用的异步性质有关。有人可以证实这一点吗?
答案 0 :(得分:-1)
我想确认是否可以通过google.script.run从HTMLService加载的HTML模板中的JavaScript函数中调用电子表格容器绑定项目中的Apps脚本功能。我最初的发现表明“不”(见下文),但我可能会遗漏一些东西。
google.script.run调用在onclick处理程序调用的JS函数中生成时,始终路由到错误处理函数,并出现以下错误代码:NetworkError:由于HTTP 0导致连接失败。
如果我直接从按钮的onclick处理程序调用google.script.run代码,它就会运行。我希望能够在一个函数中使用它,这样我就可以建立一组数据来传递给我正在计划实现的实际方法。
您看到的错误是因为您关闭了该行的侧栏,切断了与服务器端脚本的连接。