Rexx - Manejo de errores
Rexx tiene la capacidad de trabajar también en el manejo de errores como en otros lenguajes de programación.
Las siguientes son algunas de las diversas condiciones de error que se ven en Rexx.
ERROR - Esto incluso se genera cuando un comando que se envía al sistema operativo da como resultado un error.
FAILURE - Esto incluso se genera cuando un comando que se envía al sistema operativo da como resultado una falla.
HALT- Normalmente se genera cuando una operación depende de otra operación. Un ejemplo es si una operación de E / S se detiene por cualquier motivo.
NOVALUE - Este evento se genera cuando no se ha asignado un valor a una variable.
NOTREADY - Esto lo genera cualquier dispositivo de E / S que no esté listo para aceptar ninguna operación.
SYNTAX - Este evento se genera si hay algún error de sintaxis en el código.
LOSTDIGITS - Este evento se genera cuando una operación aritmética da como resultado una pérdida de dígitos durante la operación.
Errores de captura
Los errores se capturan con la ayuda del comando de señal. Echemos un vistazo a la sintaxis y un ejemplo de esto.
Sintaxis
signal on [Errorcondition]
Dónde,
Errorcondition - Ésta es la condición de error que se indica arriba.
Ejemplo
Echemos un vistazo a un ejemplo sobre esto.
/* Main program */
signal on error
signal on failure
signal on syntax
signal on novalue beep(1)
signal off error
signal off failure
signal off syntax
signal off novalue
exit 0
error: failure: syntax: novalue:
say 'An error has occured'
En el ejemplo anterior, primero activamos las señales de error. Luego agregamos una declaración que resultará en un error. Luego tenemos la etiqueta de captura de error para mostrar un mensaje de error personalizado.
La salida del programa anterior será como se muestra a continuación.
An error has occurred.
En el siguiente programa se muestra un ejemplo de códigos de error.
/* Main program */
signal on error
signal on failure
signal on syntax
signal on novalue beep(1)
exit 0
error: failure: syntax: novalue:
say 'An error has occured'
say rc
say signal
La salida del programa anterior será como se muestra a continuación.
An error has occured
40
6