Page 59 - 4657
P. 59
compute(1);
compute(20);
}
catch (MyException e) {
System.out.println("caught" + e);
}
} }
Цей приклад досить складний. У ньому зроблене
оголошення підкласу MyException класу Exception. У цього
підкласу є спеціальний конструктор, що записує в перемінну
об'єкта цілочислові значення, і сполучений метод toString, що
виводить значення, що зберігається в об'єкті-виключенні. Клас
ExceptionDemo визначає метод compute, що збуджує
виключення типу MyExcepton. Проста логіка методу compute
збуджує виключення в тому випадку, коли значення пари
методу більше 10. Метод main у захищеному блоці викликає
метод compute спочатку з припустимим значенням, а потім - з
недопустимим (більше 10), що дозволяє продемонструвати
роботу при обох шляхах виконання коду. Нижче приведений
результат виконання програми.
С:\> java ExceptionDemo
called compute(1).
normal exit.
called compute(20).
caught MyException[20]
57