Aracılığıyla paylaş


Betiğinizdeki hataları ve uyarıları işleme

Betikler yalnızca geçersiz değerlere sahip bir varlık eklediğinizde hata döndürür. Örneğin, teklif tutarı geçerli olmayan bir anahtar sözcük varlığı eklemeyi denerseniz derleme işlemi başarısız olur ve bir veya daha fazla hata döndürür.

        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);
            }
        }

Ancak, bir varlığın özelliklerini geçersiz bir değerle güncelleştirmeye çalışırsanız, Betikler hata döndürmez. Bunun yerine, Betikler Değişiklik Günlüğü'ne bir hata iletisi yazar ve kodunuz yürütülmeye devam eder. Örneğin, aşağıdaki kod reklam grubunun CPC teklifini ayarlamaya çalışır. Tutar geçerli olmadığından, çağrı sessizce başarısız olur, betik yürütülmeye devam eder ve değişiklik günlüğüne bir hata iletisi yazılır.

function main() {
    var adGroup = AdsApp.adGroups().get().next();
    adGroup.bidding().setCpc(-5);
}

Not

Güncelleştirmenin başarılı olduğunu doğrulamak için değerini ayarladıktan sonra yöntemini çağırmak getCpc isteyebilirsiniz ancak çağırmayın. Set yöntemini çağırdıktan sonra get yöntemini çağırmak, toplu güncelleştirme özelliğini ortadan kaldırarak performansı düşürür. Daha fazla bilgi için bkz. En iyi yöntemler bölümünde güncelleştirmeleri toplu olarak oluşturma.

Çalışma zamanı hataları veya varlık alma hataları gibi diğer hatalar betik yürütmenin durmasına neden olur. Bu durumda, hata iletisi Metin Günlüğü'ne yazılır. Aşağıdaki kod işlevi çağırmaya foo() çalışır ancak işlev tanımlanmadığından betik yürütmeyi sonlandırır.

function main() {
    foo(); // The script stops because foo() is undefined and generates a reference error
    Logger.log('This line is never logged!');
}

Değişiklik günlüğünde ve metin günlüğünde günlüğe kaydedilen tüm iletileri her zaman gözden geçirmelisiniz.