ПочатиПочніть безкоштовно

RuntimeException

RuntimeExceptions не вимагають блоків try/catch у коді. Їх зазвичай можна уникнути завдяки належним практикам програмування. Однак, якщо помилки не виявлені і RuntimeException ніде не перехоплюється, застосунок завершиться збоєм і покаже інформацію про проблему, яку користувач не завжди зрозуміє. У цій вправі ви побачите, що стається, коли ви не перехоплюєте потенційний RuntimeException, і що відбувається, коли ви все ж використовуєте try/catch.

Ця вправа є частиною курсу

Типи даних і винятки в Java

Переглянути курс

Інструкції до вправи

  • Перегляньте методи withoutTryCatch() і withTryCatch у цьому застосунку та зверніть увагу на відмінність між ними.
  • Запустіть застосунок без змін — це призведе до виконання методу withoutTryCatch(), який спричиняє RuntimeException.
  • Закоментуйте рядок 5 і розкоментуйте рядок 7, а потім перезапустіть застосунок — цього разу виконається метод withTryCatch(), який обробляє RuntimeException.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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.");
		}
	}
}
Редагувати та запускати код