Archivo

Posts Tagged ‘TRY’

TRY CATCH – Ejemplo básico de excepción

Caso: se desea capturar y mostrar el error de la excepción al realizar una división por cero. Es un ejemplo básico que encontré, pero útil para usarlo cuando necesitemos capturar excepciones

Solución: Vamos primero a mostrar la división y el error que nos genera sin capturar la excepción:

REPORT  zprueba_abap.
* Prueba de división por cero sin capturar excepción
 
DATA: resultado TYPE p DECIMALS 2,
      ref_exc   TYPE REF TO CX_ROOT,
      error     TYPE STRING.
 
PARAMETERS: p_num1 TYPE i DEFAULT '10',
            p_num2 TYPE i DEFAULT '0'.
 
resultado = p_num1 / p_num2.
WRITE: 'El resultado es: ', resultado.

Ahora si agregamos la sentencia TRY-ENDTRY y con CATCH capturamos la excepción para que muestre un MESSAGE tipo Información:

REPORT  zprueba_abap.
* Prueba de división por cero capturando la excepción
 
DATA: resultado TYPE p DECIMALS 2,
      ref_exc   TYPE REF TO CX_ROOT,
      error     TYPE STRING.
 
PARAMETERS: p_num1 TYPE i DEFAULT '10',
            p_num2 TYPE i DEFAULT '0'.
 
TRY.
    resultado = p_num1 / p_num2.
    WRITE: 'El resultado es: ', resultado.
  CATCH cx_sy_zerodivide INTO ref_exc.
    error = ref_exc->get_text( ).
    MESSAGE error TYPE 'I'.
ENDTRY.
 

Links:

http://www.teknodatips.com.ar/sap-netweaver/267-abap-objects-tutorial-manejo-excepciones.html