IniziaInizia gratis

RuntimeException

Le RuntimeExceptions non richiedono blocchi try/catch nel codice. Di solito si possono evitare con buone pratiche di programmazione. Tuttavia, quando gli errori non vengono rilevati e la RuntimeException non è gestita, l’applicazione si arresta e mostra informazioni sul problema che l’utente potrebbe non capire. In questo esercizio vedrai cosa succede quando non intercetti una possibile RuntimeException e cosa succede quando la gestisci con try/catch.

Questo esercizio fa parte del corso

Tipi di dati ed eccezioni in Java

Visualizza il corso

Istruzioni dell'esercizio

  • Esamina i metodi withoutTryCatch() e withTryCatch in questa applicazione e nota la differenza tra i due.
  • Esegui l’applicazione senza modifiche: verrà eseguito il metodo withoutTryCatch(), che provoca una RuntimeException.
  • Commenta la riga 5 e decommenta la riga 7, quindi riesegui l’applicazione: questa volta verrà eseguito il metodo withTryCatch(), che gestisce la RuntimeException.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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.");
		}
	}
}
Modifica ed esegui il codice