处理脚本中的错误和警告

脚本返回错误的唯一时间是添加具有无效值的实体。 例如,如果尝试添加出价金额无效的 关键字 (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!');
}

应始终查看记录到更改日志和文本日志的所有消息。