Captura las excepciones que se producen en las instrucciones incluidas y permite su tratamiento.
Sintaxis
Try
[InstruccionesTry]
Catch Variable
[InstruccionesCatch]
End
La sintaxis de la instrucción Try...Catch...End consta de las siguientes partes:
Parte |
Descripción |
|---|---|
InstruccionesTry |
Una o más instrucciones entre Try y Catch para las que se deben capturar las excepciones que surjan. |
Variable |
Nombre de una variable a la que se asigna el valor de la excepción. No es necesario declarar la variable con Dim. |
InstruccionesCatch |
Una o más instrucciones para gestionar la excepción capturada. |
Notas
Las excepciones son todos los errores que pueden producirse durante la ejecución del código FPScript, por un lado, y las excepciones generadas explícitamente con la instrucción Throw, por otro.
Si se produce una excepción durante el cálculo de una fórmula, normalmente se interrumpe el cálculo y se muestra un mensaje de error. Sin embargo, puede utilizar la instrucción Try...Catch para capturar dichas excepciones y reaccionar adecuadamente. Esto funciona no solo dentro de una fórmula, sino también si la excepción se produce en otra fórmula que es llamada por la fórmula con la instrucción Try...Catch.
Una excepción siempre tiene un valor. Si se produce un error durante la ejecución, el valor de la excepción generada es una cadena con el mensaje de error. Si se genera una excepción con la instrucción Throw, entonces se puede especificar cualquier valor, también con una unidad, que luego se puede procesar en el bloque Catch.
Dentro del bloque Catch, también puede procesar ciertas excepciones, dependiendo de su valor, y reenviar otras utilizando la instrucción Throw.
Nota Solo debe utilizar la gestión de excepciones para estados de excepción y no como alternativa a la instrucción Return.
Disponibilidad
FlexPro View, Basic, Professional, Developer Suite
Ejemplo
Calcula una integral y pasa el resultado. Si se produce un error durante la integración, se detecta y se transfiere el mensaje de error.
Try
Return Integral(x)
Catch Exception
Return Exception
End