ÎncepețiÎncepe gratuit

RuntimeException

RuntimeExceptions nu necesită blocuri try/catch în cod. De obicei, pot fi evitate prin practici corecte de programare. Totuși, atunci când erorile nu sunt detectate și RuntimeException rămâne neprinsă, aplicația va eșua și va afișa informații despre problemă pe care utilizatorul s-ar putea să nu le înțeleagă. În acest exercițiu, vei vedea ce se întâmplă atunci când nu prinzi o posibilă RuntimeException și ce se întâmplă atunci când o gestionezi cu try/catch.

Acest exercițiu face parte din cursul

Tipuri de date și excepții în Java

Vezi cursul

Instrucțiuni pentru exercițiu

  • Examinează metodele withoutTryCatch() și withTryCatch din această aplicație și observă diferența dintre ele.
  • Rulează aplicația fără modificări – ceea ce determină execuția metodei withoutTryCatch() și provoacă o RuntimeException.
  • Comentează linia 5 și decomentează linia 7, apoi rulează din nou aplicația – de data aceasta se execută metoda withTryCatch(), care gestionează RuntimeException.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.");
		}
	}
}
Editează și rulează codul