Уроки Java Профи

#3 - Отслеживание исключений в Java

#3 - Отслеживание исключений в Java

В уроке мы познакомимся с исключениями в языке Java. Нами будет рассмотрена конструкция try catch, что позволяет отлавливать ошибки в ходе выполнения программы. Также будет рассмотрен оператор finally.

Видеоурок

Что такое исключение?

Предположим, что вы разработали программу «Текстовый редактор». В программе пользователь может создать новый файл, вписать в него данные и далее сохранить файл в системе.


Если код прописан корректно, то никаких ошибок возникать не будет. Но давайте представим ситуацию, что пользователь открыл редактор, открыл нужный файл, записал в него данные, далее вручную удалил файл с компьютера и потом попытался сохранить файл через вашу программу. 


При таком раскладе у вас получиться ошибка, которая сломает программу и отобьет любое желание у пользователя работать в вашей программе. 


Получается, исключение - это ошибка, что возникает в ходе работы самой программы. Отслеживать такие ошибки при помощи условных операторов не всегда возможно, ведь программа уже запущена, поведение пользователя нам неизвестно заранее, а значит и «ловить» ошибку нам нужно в момент её создания.


Отлов ошибок

Для вышеописанного случая как раз и нужна конструкция try catch для отлова ошибок в момент их создания. 


При помощи данной конструкции вы можете отслеживать ошибки различных форматов и событий. Можно отследить неверное открытие файла, можно отследить неверное подключение класса, можно отследить неверное написание переменной или функции, да чего уж там, можно отследить даже деление чисел на ноль!


Реализации конструкции try catch

Для добавления отслеживания ошибок можно прописать следующий код:

try { // В блоке try мы пытаемся выполнить какой-либо код
	// В нашем случае выполняем деление,
	// хотя также можно прописать открытие файлов, создание объекта на основе класса и так далее
	System.out.println(something / variable); 
} catch(ArithmeticException e) { // Указываем класс с ошибкой
	// Поскольку мы выполняли математические действия, то класс с ошибкой ArithmeticException
	
	// Выводим текст с ошибкой
	System.out.println("Текст ошибки: " + e);
}

В коде выше представлен очень простой пример использования исключений. Не обращайте внимание на его простоту, так как главное это рассмотреть общую конструкцию блока try catch.


При использовании такой конструкции, какая бы ошибка не получилась в ходе программы сама программа работать не перестанет и пользователь не получить плохой опыт в её использовании.


Если необходимо отследить несколько классов с ошибками, то можно добавить несколько блоков catch. Все они добавляются друг под другом точно также как в условных операторах. 


Конструкция finally

В блок try catch можно дописать конструкцию finally, что срабатывает каждый раз вне зависимости от того получили мы ошибку или нет.


Такая конструкция может быть удобной в случае работы с файлами, когда нам не важно получилась или нет ошибка, но нам важно обязательно закрыть файл.

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Разработка Андроид программы с базой данных
6 уроков
Уроки Node JS и Express для начинающих
13 уроков
Разработка Android программы. Создание чата
6 уроков
Изучение React JS / Redux библиотеки
9 уроков
Создание динамического веб сайта
22 урока
Разработка сайта на Java Spring Boot
7 уроков
Комментарии
Добавить комментарий

Пока комментариев нет