Читайте также:
|
|
java.lang.Error
описывает серьезную проблему, с которой обычное приложение не может справиться (например, LinkageError)
java.lang.VirtualMachineError
описывает ошибки, возникающие при работе виртуальной машины (например, OutOfMemoryError, StackOverflowError)
java.lang.Exception
описывает исключения, возможность возникновения которых может быть выявлена на этапе компиляции.
В большинстве случаев источник возникновения исключений расположен за пределами приложения (например, IOException, PrinterException, SQLException)
java.lang.RuntimeException
описывает исключения, источник возникновения которых расположен внутри приложения (например, ArithmeticException, IndexOutOfBoundsException, NullPointerException)
Если классы исключений, которые могут возникнуть при выполнении фрагмента кода, находятся в родственной связи, то более конкретный класс должен указываться раньше, более общий – позже, например:
try {
//...
}
catch (ArithmeticException e) {
//...
}
catch (RuntimeException e) {
//...
}
catch (Exception e) {
//...
}
Методы, которые по каким-то причинам не могут или не должны обрабатывать генерируемые внутри них исключения, требуется помечать с помощью ключевого слова throws:
Тип имяМетода (параметры) throws СписокИсключений {
// тело метода
}
Таким образом, обязанность обработать возможные исключения возлагается на вызывающий метод.
Пример. Объявление метода для копирования файлов
Дата добавления: 2015-09-11; просмотров: 29 | Поможем написать вашу работу | Нарушение авторских прав |