簡體   English   中英

如何正確處理 Google App Script 中的 Google SDK 錯誤

[英]How to properly handle Google SDK errors in Google App Script

我正在編寫一個經常使用管理目錄的谷歌 web 應用程序。 但是我想知道應該如何進行錯誤處理,因為當對 api 的請求失敗時,我沒有得到正確的錯誤 object。

示例:我想檢查自定義模式是否存在,如果不存在,我想做其他事情:

 try{
   var resp =  AdminDirectory.Schemas.get("129898rgv", "someCustomSchema");
  }catch(err){
     // if schema does not exist do this
      schemaNotExistFunction();
      Logger.log(err);
   }

不幸的是,我什至沒有從錯誤中得到http status code 是否有另一種方法來處理 Google Apps 腳本中的錯誤?

代替

Logger.log(error) 

利用

Logger.log('%s, %s',error.message, error.stack);

有關錯誤實例屬性的完整列表,請參閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error

以上是因為Logger.log將參數解析為字符串。 當您傳遞錯誤error.name ,將記錄 error.name,另一方面,使用

例子

使用新的運行時 (V8) 在獨立項目中運行以下代碼將記錄幾條消息。

function myFunction() {
  try{
    SpreadsheetApp.getUi();
  } catch (error) {
    Logger.log(error);
    Logger.log('%s, %s', error.message, error.stack);
  }
}

另一種選擇是使用console.log而不是Logger.log

function myFunction() {
  try{
    SpreadsheetApp.getUi();
  } catch (error) {
    console.log(error);
    console.log('%s, %s', error.message, error.stack);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM