Como hemos comentado, siempre debemos controlar las excepciones que se puedan producir o de lo contrario nuestro software quedará expuesto a fallos. Las excepciones pueden tratarse de dos formas:
- Interrupción. En este caso se asume que el programa ha encontrado un error irrecuperable. La operación que dio lugar a la excepción se anula y se entiende que no hay manera de regresar al código que provocó la excepción. Es decir, la operación que originó el error, se anula.
- Reanudación. Se puede manejar el error y regresar de nuevo al código que provocó el error.
Java emplea la primera forma, pero puede simularse la segunda mediante la utilización de un bloque try
en el interior de un while
, que se repetirá hasta que el error deje de existir. En la siguiente imagen tienes un ejemplo de cómo llevar a cabo esta simulación.
En este ejemplo, a través de la función de generación de números aleatorios se obtiene el valor del índice i
. Con dicho valor se accede a una posición del array que contiene cinco cadenas de caracteres. Este acceso, a veces puede generar un error del tipo ArrayIndexOutOfBoundsException
, que debemos gestionar a través de un catch
. Al estar el bloque catch
dentro de un while
, se seguirá intentando el acceso hasta que no haya error.