CommencezCommencez gratuitement

RuntimeException

Les RuntimeExceptions ne nécessitent pas de blocs try/catch dans le code. On peut généralement les éviter avec de bonnes pratiques de programmation. Toutefois, lorsque des erreurs ne sont pas détectées et que la RuntimeException n'est pas interceptée, l'application échoue et affiche des informations que l'utilisateur ne comprendra pas toujours. Dans cet exercice, vous verrez ce qui se passe quand vous n'interceptez pas une RuntimeException potentielle et ce qui se passe lorsque vous les interceptez avec un try/catch.

Cette activité fait partie du cours

Types de données et exceptions en Java

Voir le cours

Instructions de l’exercice

  • Examinez les méthodes withoutTryCatch() et withTryCatch dans cette application et notez leur différence.
  • Exécutez l'application sans modification — cela lance la méthode withoutTryCatch(), ce qui provoque une RuntimeException.
  • Commentez la ligne 5 et décommentez la ligne 7, puis exécutez de nouveau l'application ; cette fois, la méthode withTryCatch() s'exécute et intercepte la RuntimeException.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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