处理脚本中的错误和警告
脚本返回错误的唯一时间是添加具有无效值的实体。 例如,如果尝试添加出价金额无效的 关键字 (keyword) 实体,则生成操作将失败并返回一个或多个错误。
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);
}
}
但是,如果尝试使用无效值更新实体的属性,脚本不会返回错误。 相反,脚本会将错误消息写入 更改日志 ,代码将继续执行。 例如,以下代码尝试设置广告组的 CPC 出价。 由于数量无效,调用会以无提示方式失败,脚本继续执行,并将错误消息写入更改日志。
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!');
}
应始终查看记录到更改日志和文本日志的所有消息。