CommencerCommencer gratuitement

RuntimeException

Les RuntimeExceptions ne nécessitent pas de blocs try/catch dans le code. On peut généralement les éviter en appliquant de bonnes pratiques. Toutefois, si une erreur n’est pas détectée et que la RuntimeException n’est pas interceptée, l’application plantera et affichera des informations que l’utilisateur ne comprendra pas forcément. Dans cet exercice, vous verrez ce qui se passe lorsque vous ne captez pas une RuntimeException possible, puis ce qui se passe lorsque vous la gérez avec un try/catch.

Cet exercice fait partie du cours

Types de données et exceptions en Java

Afficher le cours

Instructions

  • Examinez les méthodes withoutTryCatch() et withTryCatch dans cette application et notez la différence entre elles.
  • Exécutez l’application sans modification : cela appelle la méthode withoutTryCatch() et provoque une RuntimeException.
  • Commentez la ligne 5 et décommentez la ligne 7, puis relancez l’application : la méthode withTryCatch() s’exécute et gère cette fois la RuntimeException.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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.");
		}
	}
}
Modifier et exécuter le code