Con la gestión de excepciones de FPScript, puede reaccionar con flexibilidad a los estados de error de sus fórmulas. 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.
El siguiente ejemplo realiza una división y genera una excepción si el divisor es cero.
Arguments X, Y
If Y == 0 Then
Throw "División entre cero"
End
X / Y
Puede utilizar la instrucción Try...Catch para capturar excepciones y reaccionar ante ellas. Por ejemplo, puede evitar específicamente que el cálculo se cancele con un mensaje de error en caso de error de cálculo. En su lugar, puede interceptar el error y devolver un resultado vacío, por ejemplo:
Try
Return Integral(x)
Catch Exception
Return Empty
End
A la variable especificada después de la instrucción Catch se le asigna el valor "lanzado" al crear la excepción con Throw. Puede ser cualquier estructura de datos. Las funciones y operadores integrados en FPScript pasan una cadena con una descripción del error como valor de la excepción.
Las excepciones representan un potente concepto poderoso para el tratamiento de errores, al distinguir entre valores de resultado regulares y excepciones. Sin embargo, solo debe utilizar las excepciones para manejar estados de error y no como una forma alternativa de transferir valores de resultado. Lo mismo ocurre a la inversa. No debe utilizar el valor resultante de la fórmula para transferir mensajes de error, sino crear una excepción para ello.