2017-10-04 77 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

謝謝。你有使用我沒有的邏輯。 –

相關問題