處理腳本中的錯誤和警告
腳本傳回錯誤的唯一時間是當您新增具有無效值的實體時。 例如,如果您嘗試新增具有不正確中標金額的關鍵字實體,則建置作業會失敗並傳回一或多個錯誤。
var operation = adGroup.newKeywordBuilder()
.withText(keywordText)
.withCpc(-5)
.build();
if (operation.isSuccessful()) {
var keyword = operation.getResult();
Logger.log(`Added keyword, ${keyword.getText()}.`);
}
else {
// The bid amount is not valid, so this path executes
for (var error of operation.getErrors()) {
Logger.log(error);
}
}
不過,如果您嘗試以不正確值更新實體的屬性,則腳本不會傳回錯誤。 相反地,腳本會將錯誤訊息寫入 變更記錄 檔,而您的程式碼會繼續執行。 例如,下列程式碼會嘗試設定廣告群組的 BID 報價。 因為數量無效,所以呼叫會以無訊息方式失敗,腳本會繼續執行,而且會將錯誤訊息寫入變更記錄檔。
function main() {
var adGroup = AdsApp.adGroups().get().next();
adGroup.bidding().setCpc(-5);
}
注意事項
雖然您可能會想要在設定方法的值以確認更新成功之後呼叫 getCpc
方法,但不要。 呼叫 set 方法之後呼叫 get 方法,會藉由消除批次更新功能來降低效能。 如需詳細資訊,請參閱最佳做法中的批次處理更新。
其他錯誤,例如執行階段錯誤或實體擷取失敗會導致腳本執行停止。 發生這種情況時,會將錯誤訊息寫入 文字記錄檔。 下列程式碼會嘗試呼叫 函式, foo()
但因為未定義函式,所以腳本會終止執行。
function main() {
foo(); // The script stops because foo() is undefined and generates a reference error
Logger.log('This line is never logged!');
}
您應該一律檢閱記錄到變更記錄檔和文字記錄檔的所有訊息。