Page 58 - 4657
P. 58
шляху «назовні» виконується роздягання finally. Інший метод
proc завершує роботу виконанням оператора, що є в try-блоці,
return, але і при цьому перед виходом з методу виконується
програмний код блоку finally. Нижче приведений результат,
отриманий при виконанні цієї програми.
С:\> java FinallyDemo
inside procA
procA's finally
inside proc
procB's finally
Підкласи Exception
Тільки підкласи класу Throwable можуть бути порушені чи
перехоплені. Прості типи - int, char і т.п., а також класи, які не
являються підкласами Throwable, наприклад, String і Object,
використовуватися як виключення не можуть. Найбільш
загальний шлях для використання виключень - створення своїх
власних підкласів класу Exception. Нижче приведена програма,
у якій оголошений новий підклас класу Exception.
class MyException extends Exception {
private int detail;
MyException(int a) {
detail = a:
}
public String toString() {
return "MyException[" + detail + "]";
}
}
class ExceptionDemo {
static void compute(int a) throws MyException {
System.out.println("called computer + a + ").");
if (a > 10)
throw new MyException(a);
System.out.println("normal exit.");
}
public static void main(String args[]) {
try {
56