2017-10-04 120 views
0

我想在谷歌应用程序脚本中编写try catch错误处理机制。我已经部署了一个Web应用程序,我希望如果以任何方式写入脚本功能的任何部分执行失败,我想将自定义消息放在浏览器屏幕上。谷歌应用程序中的异常处理脚本web应用程序

让我们一起去计划......这将得到执行

function doGet(e){ 
    //Calling method 
    methodCall(); 
    return HtmlService.createHtmlOutputFromFile('success'); 
} 

第一种方法现在让我们说,方法调用内部有一些线,很容易出错,这将导致错误,如果供应不当投入。那么如何捕获这个错误并在浏览器中显示自定义错误消息而不是成功文件的内容。

function methodCall(){ 
    //Call to some Google API 
    try{ 
    DriveApp.getFiles(); 
    }catch(err){ 
    return HtmlService.createHtmlOutput("<p>Custom error message</p>"); 
    } 
} 

因此,在加载页面结束时,用户可以在他的浏览器上看到自定义错误消息。

回答

0

我对Web应用程序不太熟悉,也没有测试过下面的代码,但它应该可以工作,或者至少可以让您继续下去。

一些事情。

  1. 创建一个变量来存储从methodCall()函数返回的值。

  2. methodCall()函数中,你不能返回HtmlService,而是如果有错误返回你想要输出的消息。如果没有错误,则什么都不返回。

  3. 在你的doGet(e)检查var response如果什么都没有返回,它将是假的,如果有什么已经返回它将是真的然后返回您的Html在doGet。

  4. 在你的代码中你有createHtmlOutputFromFile('success');应该是createHtmlOutput('success')

    function doGet(e){ 
        //Calling method 
        var response = methodCall(); 
        if(response){ 
        return HtmlService.createHtmlOutput(response); 
        } else { 
        return HtmlService.createHtmlOutputFromFile('success'); 
    } 
    
    function methodCall(){ 
    //Call to some Google API 
    try{ 
    DriveApp.getFiles(); 
    }catch(err){ 
    return "<p>Custom error message</p>"; 
    } 
    return; 
    } 
    
+0

谢谢。你有使用我没有的逻辑。 –