Page 56 - 4657
P. 56

виключення в заголовку методу. Такий програмний код не буде
       відтрансльований.

       class ThrowsDemo1 {
       static void procedure() {
       System.out.println("inside procedure");
       throw new IllegalAccessException("demo");
       }
       public static void main(String args[]) {
       procedure();
       } }
           Для того, щоб ми змогли відтранслювати цей приклад, нам
       прийдеться  повідомити  транслятору,  що  procedure  може
       збуджувати  виключення  типу  IllegalAccessException  і  в  методі
       main додати код для обробки цього типу виключень :

       class ThrowsDemo {
       static void procedure() throws
       IllegalAccessException {
       System.out.println(" inside procedure");
       throw new IllegalAccessException("demo");
       }
       public static void main(String args[]) {
       try {
       procedure();
       }
       catch (IllegalAccessException e) {
       System.out.println("caught " + e);
       }
       } }
           Нижче приведений результат виконання цієї програми.

       С:\> java ThrowsDemo
       inside procedure
       caught java.lang.IllegalAccessException: demo
            finally


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

       54
   51   52   53   54   55   56   57   58   59   60   61