Behandeln von Fehlern und Warnungen in Ihrem Skript

Skripts gibt Fehler nur zurück, wenn Sie eine Entität mit ungültigen Werten hinzufügen. Wenn Sie beispielsweise versuchen, eine Schlüsselwort (Keyword)-Entität mit einem ungültigen Gebotsbetrag hinzuzufügen, schlägt der Buildvorgang fehl und gibt einen oder mehrere Fehler zurück.

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

Wenn Sie jedoch versuchen, die Eigenschaften einer Entität mit einem ungültigen Wert zu aktualisieren, gibt Scripts keinen Fehler zurück. Stattdessen schreibt Skripts eine Fehlermeldung in das Änderungsprotokoll , und Ihr Code wird weiter ausgeführt. Der folgende Code versucht beispielsweise, das CPC-Gebot der Anzeigengruppe festzulegen. Da der Betrag ungültig ist, schlägt der Aufruf im Hintergrund fehl, das Skript wird weiter ausgeführt, und eine Fehlermeldung wird in das Änderungsprotokoll geschrieben.

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

Hinweis

Auch wenn Sie versucht sein könnten, die Methode aufzurufen getCpc , nachdem Sie ihren Wert festgelegt haben, um zu überprüfen, ob das Update erfolgreich war, tun Sie es nicht. Das Aufrufen der get-Methode nach dem Aufrufen der set-Methode beeinträchtigt die Leistung, indem das Batchaktualisierungsfeature entfernt wird. Weitere Informationen finden Sie unter Batchverarbeitung von Updates in bewährten Methoden.

Andere Fehler wie Laufzeitfehler oder Fehler beim Abrufen von Entitäten führen dazu, dass die Skriptausführung angehalten wird. In diesem Fall wird die Fehlermeldung in das Textprotokoll geschrieben. Der folgende Code versucht, die foo() Funktion aufzurufen, aber da die Funktion nicht definiert ist, beendet das Skript die Ausführung.

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

Sie sollten immer alle Meldungen überprüfen, die im Änderungsprotokoll und im Textprotokoll protokolliert werden.