Inicio > ABAP/4 > TRY CATCH – Ejemplo básico de excepción

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

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: