Loading

NullPointerException annulla il riferimento a un oggetto null nel codice di un trigger Apex

Data pubblicazione: Jan 30, 2020
Descrizione

L'esecuzione di un trigger genera talvolta un messaggio di errore, "execution of [EventName] caused by: System.NullPointerException: Attempt to de-reference a null object: Trigger.[TriggerName]: line [XX], column [XX]" (esecuzione di [NomeEvento] causata da System.NullPointerException: tentativo di dereferenziare un oggetto null: Trigger.[NomeTrigger]: riga [XX], colonna [XX])

Questo errore è causato da una riga di codice che tenta di utilizzare un oggetto di cui non è stata creata un'istanza o un attributo dell'oggetto che non è stato inizializzato.

NOTA: se il campo Site è stato lasciato vuoto, anche in questo caso viene generato l'errore.

 

Risoluzione

Risoluzione di NullPointerException

La soluzione è assicurarsi che l'oggetto e/o l'attributo da utilizzare non sia null. In questo esempio, il codice deve essere modificato come segue:

Account newAccount = accountMap.get(oldAccount.Name); if (newAccount != null) if (newAccount.Site != null) i = newAccount.Site.length();
 

Routine di gestione delle eccezioni

Account newAccount = accountMap.get(oldAccount.Name); try { i = newAccount.Site.length(); } catch (System.NullPointerException e) { e1 = e; // può essere assegnato a una variabile per visualizzare un messaggio di errore di facile comprensione }

Per maggiori informazioni sulla gestione delle eccezioni, consultare le informazioni di riferimento sul linguaggio Apex, in "Using Exception Methods" o "Using Exception Variables" (Utilizzo di metodi di eccezione o Utilizzo di variabili di eccezione).

Per maggiori informazioni sull'inizializzazione delle variabili, vedere il Capitolo 2, "Language Constructs" (Costrutti del linguaggio), argomenti "Variables" (Variabili) e "Case Sensitivity" (Distinzione tra maiuscole e minuscole).

Numero articolo Knowledge

000385601

 
Caricamento
Salesforce Help | Article