В этой статье мы поговорим об исключениях, рассмотрим примеры исключений в java. Исключение-это аномальное состояние, которое возникает в кодовой последовательности во время выполнения. Например, прочитать несуществующий файл.
Ключевые слова
В Java обработка исключений осуществляется посредством пяти ключевых слов: try, catch, throw, throws, finally.
Если происходит ошибка внутри блока try, она бросается исключение.
Оператор catch может поймать исключение и обработать его в рациональной манере.
Чтобы вручную выбросить исключение, используйте ключевое слово throws.
Любое исключение, которое выбрасывается из метода должен быть указан в качестве таковых в пункте throws.
Синтаксис
Для обработки исключения, мы помещаем код, который может иметь исключения в блок try и catch.
1 2 3 4 5 6 7 8 9 10 |
//nookery.ru try { // блок кода для отслеживания ошибок } catch (ExceptionType1 exOb) { // обработчик исключения для ExceptionType1 } catch (ExceptionType2 exOb) { // обработчик исключения для ExceptionType2 } |
Код программы в котором могло быть вызвано исключение, помещается в блоке try. Обработчик исключений кодируется используя оператор catch.
Пример исключения Java.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//nookery.ru public class Test { public static void main(String args[]) { int resault; int a=0; int b=2; try { // сдесь мы начинаем следить за кодом программы resault = b/a; System.out.println("Это сообщение не будет напечатано"); } catch (ArithmeticException e) { // здесь мы ловим ошибку System.out.println("Исключение, делить на 0 нельзя"); } System.out.println("Программа продолжает работать"); } } |
Результатом работы программы будет:
Исключение, делить на 0 нельзя
Программа продолжает работать
Примеров возникновения исключений может быть очень много, допустим вы просите пользователя ввести Имя и Фамилию, а он вместо этого набирает в поле ввода цифры. Соответственно ваша программа перестанет работать либо будет работать не верно. Вот что бы этого не произошло всегда обрабатывайте исключения своей программы, во избежании полной остановки её работы.
Несколько исключений и как их обрабатывать.
Бывает ситуации когда возникает необходимость обрабатывать несколько исключений одновременно. Отрезок кода в котором может возникнуть исключение помещается в блок try, для отлова исключения и его обработку помещаем в блок catch. Если присутствует необходимости отлова еще одного исключения мы так же помещаем код обработки в блок catch. При выполнении программы каждый блок будет проверятся на возможность возникновения исключения, и в случаи ошибки исключения обрабатываться. Рассмотрим такой пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//nookery.ru public class Test { public static void main(String args[]) { try{ int resault; int a=0; int b=2;//здесь мы создаем ошибку resault=b/a;//ArithmeticException int i[]={1}; //здесь мы создаем заведомо i[5]=22;//ошибку ArrayIndexOutOfBoundsException System.out.println(i.length); System.out.println("Эту надпись мы не увидим, из за возникшего исключения"); }catch(ArithmeticException e){ System.out.println("Деление на 0"); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("Ошибка индекса массива"); } System.out.println("Программа продолжила свою работу"); } } |
Результатом работы программы будет:
Деление на 0
Программа продолжила свою работу
В примере мы обработали всевозможные ошибки исключений, которые явно допустили. Но одна из них не произошла, дело в том что программа выполняется по блочно, при возникновении исключения программа переходит к следующей части блока. Наша программа как бы не дошла до той части кода, где у нас вторая ошибка. Но мы ее все равно обработали ее, да бы избежать в дальнейшем проблем с работай нашей программы. Вся тема исключений очень большая и я решил ее разделить на две части, сейчас вы читали первую вводную часть, для прочтения второй части типы исключений java перейдите посылке.