Исключения


Исключения выбрасываются каждый раз, когда возникает ошибка. Список всех встроенных исключений доступен по адресу http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html.

Исключения обрабатываются с помощью операторов try / catch. Весь код, который может вызывать исключение, должен соответствовать требованию «Поймать» или «Указать». Чтобы выполнить это требование, просто оберните код, который может вызвать ошибку, в блоке try. Если по какой-то причине это не подходит или вы не можете использовать try / catch, вы должны указать все исключения, которые метод / функция может генерировать, используя throwsключевое слово

public void writeFile() throws IOException

Вы также можете вызвать исключение в коде с помощью throw new:

throw new IllegalArgumentException("Number not above 0");
/* Will print 
    Exception in thread "Main": java.lang.IllegalArgumentException: Number not above 0
*/

Исключения обрабатываются с помощью метода try / catch, о котором говорилось в предыдущем уроке:

try {
    System.out.println(arr[10]);
catch (ArrayIndexOutOfBoundsException ex) {
    System.out.println("Error in try block");
}

Упражнение

Напишите код в коде учебника, чтобы генерировать исключение IllegalArgumentException if (n <0). В качестве описания должно отображаться «Ошибка». ПОДСКАЗКА: посмотрите на ожидаемый результат и на второй фрагмент кода.