currentException

La variable del sistema SysLib.currentException identifica la excepción lanzada más recientemente en la unidad de ejecución.

EGL proporciona una serie de excepciones del sistema para indicar la naturaleza específica de un problema de tiempo de ejecución. Cada una de estas excepciones es un diccionario desde el que puede recuperar información, pero la recuperación siempre se hace por medio de la variable del sistema SysLib.currentException (también un diccionario), que permite acceder a la excepción mostrada más recientemente en la unidad de ejecución.

Un campo de cualquier excepción es code, que es una serie que identifica la excepción. Puede determinar la excepción actual probando ese campo en la lógica de la forma siguiente:
  if (userRequest = "A")
    try
      add record1;
    onException
      case (SysLib.currentException.code)
        when (FileIOException)
          myErrorHandler(12);
        otherwise
          myErrorHandler(15);
      end
    end
  end

En este caso, FileIOException es una constante que es equivalente al valor de serie "com.ibm.egl.FileIOException". La constante de excepción de EGL siempre es equivalente al último calificador de una serie que empieza por "com.ibm.egl".

Se recomienda encarecidamente que acceda a los campos de excepción solo en un bloque onException. La unidad de ejecución termina si el código accede a SysLib.currentException cuando no se ha producido ninguna excepción.

El ejemplo siguiente accede al campo sqlcode en la excepción SQLException:
  if (userRequest = "A")
    try
      add record01;
    onException
      case (SysLib.currentException.code)
        when ("com.ibm.egl.SQLException")
          if (SysLib.currentException.sqlcode == -270)
            myErrorHandler(16);
          else
            myErrorHandler(20);
          end
        otherwise
          myErrorHandler(15);
      end
    end
  end

Conceptos relacionados
Diccionario

Consulta relacionada
Manejo de excepciones
Biblioteca SysLib de EGL
Excepciones del sistema de EGL

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.