Compártelo con tus amigos!

Las excepciones de Apex nos permiten notar errores o eventos que interrumpen el flujo de ejecución de nuestro código. Con ellas, podemos recuperarnos de ciertos errores, gestionarlos y asegurarnos de una apropiada ejecución del código.

Tipos de Excepciones de Apex

Excepciones Nativas: 

Apex nos ofrece un framework nativo para gestionar excepciones por default. Además, sucede cuando se interrumpe el flujo del programa automáticamente por el sistema.

También, pueden haber múltiples bloques “Catch”. Sin embargo, la excepción genérica debe ser la última.

Finalmente, el bloque Finally es ejecutado cuando la excepción sucede o no. Además, se utiliza regularmente para hacer limpieza de variables o código.

Excepciones Personalizadas:

Con las excepciones personalizadas podemos interrumpir el flujo del programa y gestionar los errores en cualquier parte del código. Además, nos permite manejar excepciones de manera más detallada.

Para crear una excepción personalizada se debe extender a la clase “Exception“. Adicionalmente, el nombre de nuestra clase personalizada debe terminar con la palabra “Exception“. Por ejemplo: “PurchaseException” o “CustomException”.

Métodos de Excepciones de Apex: 

Existen diferentes métodos de las excepciones de Apex que nos permiten realizar diferentes acciones.

Métodos Comunes

  • getTypeName(): Devuelve el tipo de excepción.
  • getMessage(): Para obtener el mensaje del error.
  • getCause(): Devuelve la causa de la excepción.
  • getLineNumber(): Para devolver la línea en donde ocurre la excepción.

Otros Métodos Importantes

  • getDmlFieldNames: Nombre de los campos que causan el error.
  • getDmlId: Id de los registros fallidos que causan el error.
  • getDmlMessage: El error del mensaje por un registro fallido específico.
  • getNumDml: Devuelve el número de registros fallidos.

Consideraciones sobre Excepciones de Apex

Excepciones Gestionables: 

  • addError(): Para revertir DML operaciones y retornar el error en un trigger.
  • ApexPages.message(msg): Para mostrar los errores en un visualforce page.
  • Clase “Messaging”: Para devolver errores vía e-mail. 

Excepciones no Gestionables: 

  • LimitExceptions no pueden ser manejables. 
  • Los errores de Assertion no pueden ser gestionables.

Más Información

Para aprender más sobre Apex o Salesforce puedes visitar nuestro último post aquí: Cómo escribir clases de Apex en Salesforce

(Visited 962 times, 1 visits today)

Compártelo con tus amigos!

Close