Thursday, October 12, 2006

TRY-CATCH en ABAP


Como mucho sabes, el TRY-CATCH es muy utilizado en Java, para el manejo de errores y excepciones.

Lo que quizás no sabían, es que también podemos utilizarlo en ABAP. Gracias a esto, podemos evitarnos muchos molestos Short Dumps -;)

Veamos un ejemplo sencillo...

DATA: RESULT TYPE P DECIMALS 3,
NUMBER TYPE I VALUE 11.

CATCH SYSTEM-EXCEPTIONS ARITHMETIC_ERRORS = 5.
DO.
NUMBER = NUMBER - 1.
RESULT = 1 / NUMBER.
WRITE: / NUMBER, RESULT.
ENDDO.
ENDCATCH.

SKIP.

IF SY-SUBRC = 5.
WRITE / 'Division por cero!'.
ENDIF.

El resultado de ejecutar este código sería...
                            
10 0.100
9 0.111
8 0.125
7 0.143
6 0.167
5 0.200
4 0.250
3 0.333
2 0.500
1 1.000

Division por cero!

Como pueden ver...Obtenemos un mensaje, en vez del Short Dump correspondiente -:)


Saludos,

Blag.

3 comments:

nelson said...

mmm.. existen clases que contienen los errores de division por cero que son clases heredadas de la clase de errores aritmeticos .. existe una sola clase que es la padre de todos los errores o excepciones.. saludos :)

aL::. said...

Gracias Alvaro por el tip, lo he usado esta misma mañana.
Un abrazo desde Córdoba, Argentina.

IORI said...

Yo recien la estoy ocupando, muchas gracias! desde Chile.