Page 222 - 6253
P. 222

Рисунок 9.3 – Ієрархія класів виняткових ситуацій, що підлягають

                                                    перевірці (checked)



                    Під час виконання програми генеруються винятки, які можуть бути оброблені

            без шкоди для програми. Ієрархія цих винятків приведена на рисунку 9.4. На відміну

            від винятків, що перевіряються, клас RuntimeException і породжені від нього класи

            відносяться  до  винятків,  що  не  потребуют  перевірки.  Компілятор  не  виконує

            перевірки на  те, чи генерує  і чи обробляє відповідний метод ці  винятки. Винятки

            типу  RuntimeException  автоматично  генеруються  при  виникненні  помилок  під  час

            виконання  програми.  Таким  чином,  немає  необхідності  в  перевірці  генерації

            виняткової ситуації виду:

                    if(a == null) throw new NullPionterException();

                    Об'єкт класу NullPionterException при виникненні помилки буде згенерований

            автоматично. Окрім цього, у будь-якому випадку немає необхідності в обробці цієї

            виняткової ситуації безпосередньо в методі або у «прокидуванні» її за допомогою

            оператора throw в інший метод. В кінцевому випадку виняток буде передано у метод

            main(),  де  він  обробляється  викликом  методу  printStackTrace(),  який  повертає




                                                              221
   217   218   219   220   221   222   223   224   225   226   227