只有在添加具有无效值的实体时,脚本才会返回错误。 例如,如果尝试添加出价金额无效关键字 (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);
}
}
但是,如果尝试使用无效值更新实体的属性,Scripts 不会返回错误。 相反,脚本会将错误消息写入 更改日志 ,并且代码继续执行。 例如,以下代码尝试设置广告组的每次点击费用出价。 由于金额无效,因此调用在无提示的情况下失败,脚本继续执行,并且错误消息将写入更改日志。
function main() {
var adGroup = AdsApp.adGroups().get().next();
adGroup.bidding().setCpc(-5);
}
注意
尽管你可能会想在设置 method 值后调用 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!');
}
应始终查看记录到更改日志和文本日志的所有消息。