Mensajes de error del postprocesador
GENER detecta errores causados por los comandos de postprocesador no válidos, el control incorrecto de la máquina de CN e incompatibilidades debidas a respuestas QUEST no válidas. En todos los casos, el procesamiento del fichero LC continúa hasta que se importe el fichero FINI.
Los mensajes de error son de texto. Identifican el problema (o evento), la gravedad del mismo así como cualquier medida que se deba adoptar para solucionarlo. Asimismo, se enumera la información estadística y de posición para el error. Por ejemplo:
Aviso: Opción LENGTH de CUTCOM no soportada por esta máquina y no simulada. Opción omitidaSEVERITY(04) ISN(0035) CLREC(0041) ERRNUM(01524001)
Los mensajes de error contienen tres elementos: el tipo, la línea de texto y el estado. Si el error se produce en una macro, puede que aparezca también un mensaje en el que se indique la posición del error dentro de la misma. Asimismo, se puede emitir una línea adicional que indique que se ha interrumpido la macro debido a un error.
Existen cuatro tipos de mensajes de error: mensaje, aviso, error y grave. Los errores de tipo aviso y mensaje se generan cuando se produce un evento inesperado que el postprocesador puede corregir. Los mensajes tipo error y grave se generan cuando el postprocesador detecta un error que no puede corregir o valorar.
La parte de texto del mensaje de error comienza con la palabra del postprocesador que generó el mensaje de error. El cuerpo del texto contiene la descripción del error, que incluye cualquier medida que se deba adoptar para solucionarlo. Por ejemplo, supongamos que el usuario ha codificado el comando LOADTL/1,OSETNO,3. Durante el postproceso, se emite el siguiente mensaje:
Aviso: Opción LENGTH de CUTCOM [llamada por LOADTL] no soportada por esta máquina ni simulada. Opción omitida.SEVERITY(04) ISN(0035) CLREC(0041) ERRNUM(01524001)
La opción OSETNO del comando LOADTL llamó al comando CUTCOM que gestiona la compensación de longitud de corte. Sin embargo, la lógica CUTCOM detectó que no se admitía la compensación de longitud de corte y se emitió el mensaje de error correspondiente. Este ejemplo es uno de los mensajes de error generados en una llamada indirecta. GENER realiza un seguimiento de todas las llamadas indirectas y las coloca al principio del texto del mensaje de error.
La línea de estado de error se incluye después de la parte de texto del mensaje de error. En esta línea aparecen cuatro elementos. La gravedad del error (SEVERITY), el número de secuencia interna (ISN), el número de registro de LC (CLREC) y el número de error de GENER (ERRNUM). La severidad del error indica el nivel de gravedad del mensaje y puede tener cualquier valor entre 0 y 99. Un valor entre 0 y 3 indica un "mensaje". Un valor entre 4 y 7 indica un mensaje de aviso. Un valor entre 8 y 15 indica un mensaje de error. Finalmente, un valor entre 16 y 99 indica un mensaje grave. ISN señala a la sentencia origen APT que provocó el error. CLREC es el número de registro de la sección III generado por el editor LC APT en el que se detectó el error. El número de error se refiere al número de error del sistema de GENER.
Si el error se produce al procesar una línea de una macro, se identifica la macro y se quita la línea de la macro que produce el mensaje de error. Si el error se produce al evaluar una expresión de una macro o al ejecutar un comando especial de una macro y la gravedad es mayor o igual a 8, se generará una sentencia TERMAC para salir de la macro. A continuación, se emitirá el siguiente mensaje:
*** TERMAC generado debido a error(es).