Loading

Eliminar la referencia de NullPointerException a un objeto nulo en un desencadenador de código de Apex

Fecha de publicación: Jan 30, 2020
Descripción

La ejecución de un desencadenador a veces generará un mensaje de error "ejecución de [NombreEvento] provocada por: System.NullPointerException: Intento de eliminar la referencia de un objeto nulo: Trigger.[NombreDesencadenador]: línea [XX], columna [XX]"

Este error viene provocado por una línea de código que está intentando utilizar un objeto que no ha sido instanciado, o el atributo de un objeto que no se ha inicializado.

NOTA: Si el campo Site se dejó vacío, también generará el mensaje de error.

 

Solución

Resolver NullPointerException

La solución es asegurarse de que el objeto y/o el atributo que se va a utilizar no sea nulo. En este ejemplo, el código tiene que modificarse de la manera siguiente:

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

Rutina de tratamiento de excepción

Account newAccount = accountMap.get(oldAccount.Name); try { i = newAccount.Site.length(); } catch (System.NullPointerException e) { e1 = e; // puede asignarse a una variable para mostrar un mensaje de error dirigido al usuario }

Para obtener más información sobre el tratamiento de excepciones, consulte la Referencia del lenguaje Apex, bajo "Uso de métodos de excepciones" o "Uso de variables de excepciones."

Para obtener más información sobre las variables de inicialización, consulte el Capítulo 2, "Construcciones de lenguaje" en los temas "Variables" y "Sensibilidad a las mayúsculas y minúsculas".

Número del artículo de conocimiento

000385601

 
Cargando
Salesforce Help | Article