Gestione di errori e avvisi nello script
L'unica volta che Script restituisce errori è quando si aggiunge un'entità con valori non validi. Ad esempio, se si tenta di aggiungere un'entità parola chiave con un importo di offerta non valido, l'operazione di compilazione ha esito negativo e restituisce uno o più errori.
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);
}
}
Tuttavia, se si tenta di aggiornare le proprietà di un'entità con un valore non valido, Script non restituisce un errore. Script scrive invece un messaggio di errore nel log delle modifiche e il codice continua l'esecuzione. Ad esempio, il codice seguente tenta di impostare l'offerta CPC del gruppo di annunci. Poiché la quantità non è valida, la chiamata non riesce in modo automatico, lo script continua l'esecuzione e viene scritto un messaggio di errore nel log delle modifiche.
function main() {
var adGroup = AdsApp.adGroups().get().next();
adGroup.bidding().setCpc(-5);
}
Nota
Anche se si potrebbe essere tentati di chiamare getCpc
il metodo dopo aver impostato il relativo valore per verificare che l'aggiornamento sia riuscito, non farlo. La chiamata al metodo get dopo la chiamata al metodo set peggiora le prestazioni eliminando la funzionalità di aggiornamento batch. Per altre informazioni, vedere Invio in batch degli aggiornamenti nelle procedure consigliate.
Altri errori, ad esempio errori di runtime o errori di recupero delle entità, causano l'arresto dell'esecuzione dello script. In questo caso, il messaggio di errore viene scritto nel log di testo. Il codice seguente tenta di chiamare la foo()
funzione, ma poiché la funzione non è definita, lo script termina l'esecuzione.
function main() {
foo(); // The script stops because foo() is undefined and generates a reference error
Logger.log('This line is never logged!');
}
È consigliabile esaminare sempre tutti i messaggi registrati nel log delle modifiche e nel log di testo.