Začněte nyníZačněte zdarma

RuntimeException

RuntimeException nevyžadují v kódu bloky try/catch. Většinou se jim dá předejít správnými programátorskými postupy. Pokud ale chyba zůstane neodhalena a RuntimeException není zachycena, aplikace selže a zobrazí informace o problému, kterým uživatel nemusí vždy rozumět. V tomto cvičení uvidíš, co se stane, když možnou RuntimeException nezachytíš, a co se stane, když ji pomocí try/catch ošetříš.

Toto cvičení je součástí kurzu

Datové typy a výjimky v Javě

Zobrazit kurz

Pokyny k cvičení

  • Prohlédni si metody withoutTryCatch() a withTryCatch v této aplikaci a všimni si rozdílu mezi nimi.
  • Spusť aplikaci beze změn – metoda withoutTryCatch() se provede a způsobí RuntimeException.
  • Zakomentuj řádek 5 a odkomentuj řádek 7, poté aplikaci spusť znovu – tentokrát se provede metoda withTryCatch(), která RuntimeException ošetří.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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.");
		}
	}
}
Upravit a spustit kód