RuntimeException
Las RuntimeExceptions no requieren bloques try/catch en el código. Normalmente se pueden evitar con buenas prácticas de programación. Sin embargo, cuando los errores no se detectan y la RuntimeException no se captura, hará que la aplicación falle y muestre información del problema que el usuario puede no entender. En este ejercicio verás qué ocurre cuando no capturas una posible RuntimeException y qué ocurre cuando sí usas try/catch para capturarla.
Este ejercicio forma parte del curso
Tipos de datos y excepciones en Java
Instrucciones del ejercicio
- Examina los métodos
withoutTryCatch()ywithTryCatchen esta aplicación y fíjate en la diferencia entre ellos. - Ejecuta la aplicación sin cambios; esto hará que se ejecute el método
withoutTryCatch(), que provoca unaRuntimeException. - Comenta la línea 5 y descomenta la línea 7, y vuelve a ejecutar la aplicación; esta vez se ejecutará el método
withTryCatch(), que maneja laRuntimeException.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
public class RuntimeExceptionHandling {
public static void main(String[] args) {
// Comment out this line
withoutTryCatch();
// Uncomment this line
// withTryCatch();
}
public static void withoutTryCatch() {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
}
public static void withTryCatch() {
try {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Oops - made a mistake accessing the mounts array with a bad index.");
}
}
}