✒️ABAP POO El manejo de excepciones en los Objetos ABAP
ABAP POO El manejo de excepciones en los Objetos ABAP
MANEJO DE EXCEPCIONES
EXCEPCION: situación que sucede cuando un programa se está ejecutando y por alguna razón ocurre una situación anormal en el programa, la cual es tratada ya que previamente fue contemplada en el mismo programa.
Se introduce el concepto de excepciones de los objetos ABAP: Excepciones basadas en clases. Pueden ser clases de excepción predefinidas o creadas por nosotros.
RAISE EXCEPTION: Sentencia para lanzar excepciones basadas en clases.
OBJETO EXCEPCION: representa una situación de excepción y es una instancia de la clase excepcion. Atributos = información de la situación del error.
Transacción SE24 (class builder) para crear nuestras clases de excepciones globales, o localmente en los programas.
Al producirse una excepción basada en clases el sistema interrumpe el flujo del programa busca el manejador adecuado. Si no lo encuentra produce error en tiempo de ejecución.
CX_ROOT (superclase de excepciones) // CX_NO_CHECK, CX_DYNAMIC_CHECK, CX_STATIC_CHECK (subclases de excepciones) // todas las clases de excepciones son derivadas de las anteriores
GET_SOURCE_POSITION: método que devuelve nombre pgm ppal, includes ylinea de código de la excepción.
GET_TEXT: devuelve texto de la excepción en formato STRING
KERNEL_ERRID (atributo heredado de CX_ROOT): nombre del error en tiempo de ejecución disparado por el entorno de ejecución.
Si CX_SY_ZERODIVIDE (división por cero) ---> BDC_ZERODIVIDE
Excepcion se captura si bloque TRY-ENDTRY la sentencia CATCH maneja la excepción y se pueden especificar la cantidad de clases de excepciones necesitadas. Si no se encuentra un manejador de excepciones dentro de TRY-ENDTRY, se ejecuta CLEANUP.
EJEMPLO:
Report ZTEST_EXCEPCIONES
PARAMETERS: v_num1 TYPT i, v_num2 TYPE i.
DATA: v_resultado TYPE i, text TYPE string, ref_exc TYPE REF TO cx_root.
START-OF-SELECTION.
TRY. v_resultado = v_num1 / v_num2. WRITE: 'El resutado es: ', v_resultado.i'.
CATCH cx_sy_zerodivide INTO ref_exc. text = ref_exc->get_text ( ). MESSAGE text TYPE 'I'. ENDTRY
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio De Tejada Santiago, en su ámbito de estudios para el Máster ABAP POO.
Juan Ignacio De Tejada Santiago
Profesión: Informatico - España - Legajo: NW89P
✒️Autor de: 219 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Juan De