Kom igångKom igång gratis

RuntimeException

RuntimeExceptions kräver inga try/catch-block i koden. De kan vanligtvis undvikas med goda kodningsrutiner. Men om ett misstag inte upptäcks och RuntimeException inte fångas upp, kommer applikationen att krascha och visa felinformation som användaren kanske inte förstår. I den här övningen får du se vad som händer när du inte fångar upp ett möjligt RuntimeException – och vad som händer när du gör det.

Den här övningen är en del av kursen

Datatyper och undantag i Java

Visa kurs

Övningsinstruktioner

  • Granska metoderna withoutTryCatch() och withTryCatch i applikationen och notera skillnaden mellan dem.
  • Kör applikationen utan ändringar – det gör att metoden withoutTryCatch() anropas, vilket orsakar ett RuntimeException.
  • Kommentera bort rad 5 och avkommentera rad 7, och kör sedan om applikationen. Nu anropas i stället metoden withTryCatch(), som den här gången hanterar RuntimeException.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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.");
		}
	}
}
Redigera och kör kod