Page 222 - 6253
P. 222
Рисунок 9.3 – Ієрархія класів виняткових ситуацій, що підлягають
перевірці (checked)
Під час виконання програми генеруються винятки, які можуть бути оброблені
без шкоди для програми. Ієрархія цих винятків приведена на рисунку 9.4. На відміну
від винятків, що перевіряються, клас RuntimeException і породжені від нього класи
відносяться до винятків, що не потребуют перевірки. Компілятор не виконує
перевірки на те, чи генерує і чи обробляє відповідний метод ці винятки. Винятки
типу RuntimeException автоматично генеруються при виникненні помилок під час
виконання програми. Таким чином, немає необхідності в перевірці генерації
виняткової ситуації виду:
if(a == null) throw new NullPionterException();
Об'єкт класу NullPionterException при виникненні помилки буде згенерований
автоматично. Окрім цього, у будь-якому випадку немає необхідності в обробці цієї
виняткової ситуації безпосередньо в методі або у «прокидуванні» її за допомогою
оператора throw в інший метод. В кінцевому випадку виняток буде передано у метод
main(), де він обробляється викликом методу printStackTrace(), який повертає
221