ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Examina los métodos withoutTryCatch() y withTryCatch en 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 una RuntimeException.
  • 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 la RuntimeException.

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.");
		}
	}
}
Editar y ejecutar código