Исключения в Java: как обрабатывать ошибки в твоём коде

Когда пишешь код, рано или поздно столкнёшься с ошибками. И это нормально! Но если их не исправлять, программа может зависнуть и сломаться. Хорошая новость: Java позволяет легко контролировать и обрабатывать ошибки с помощью исключений. Давай разберёмся, что это такое и как с ними работать, чтобы код был чистым и стабильным.

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

Исключение — это не просто ошибка, это сигнал о том, что в программе что-то пошло не так. Например, ты можешь случайно попытаться разделить число на ноль, обратиться к элементу массива, которого не существует, или открыть файл, которого на самом деле нет. В таких ситуациях программа выбрасывает исключение — по сути, она кричит: «Эй, тут что-то не так!»

Кстати, получить профессию Java-разработчика ты можешь прямо сейчас в Kata Academy. За 9 месяцев ты получишь все необходимые навыки и получишь оффер с минимальной  зарплатой, гарантированной по договору — 120 000 рублей. 

Более подробно об обучении рассказал один из наших учеников: 

Ловим исключения: try-catch

Самый простой способ справиться с ошибками — это использовать блоки try-catch. Всё просто: ты пишешь в try код, который может вызвать ошибку, а в catch говоришь, что делать, если она случится.

1001

Как только Java заметит деление на ноль, она покажет ArithmeticException, и сразу же перейдёт к блоку catch, где ты уже можешь красиво обработать ошибку и объяснить, что к чему.

Важный бонус: finally

А что, если нужно выполнить какой-то код вне зависимости от того, была ошибка или нет? Например, закрыть файл или соединение с базой данных. Для этого есть блок finally, который выполнится всегда, даже если в коде выше что-то пошло не так.

1002

Исключения бывают разные

В Java есть куча разных исключений. Вот несколько самых распространённых:

  • NullPointerException — ты пытаешься использовать объект, который на самом деле равен null.

  • ArrayIndexOutOfBoundsException — выход за границы массива. Например, ты хочешь взять 5-й элемент, а их всего 3.

  • FileNotFoundException — ты хочешь открыть файл, а его нет.

Каждое из этих исключений можно ловить и обрабатывать по-своему.

Создаём свои исключения

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

1003

Теперь можно выбросить своё исключение, если что-то идёт не так:

1004

Лови исключения правильно!

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

Заключение

Итак, исключения — это твои друзья, которые помогают контролировать ошибки в программе. С ними код становится более надёжным и не падает при первой же проблеме. Используй try-catch, добавляй свои исключения, и твоя программа будет работать идеально!

И запомни: ошибки случаются, важно правильно на них реагировать!

Читать еще:

IT-профессии. Кем можно стать?

Это первая часть цикла статей про IT-специальности. Здесь разберём профессии: backend-разработчик, QA-инженер, DevOps, аналитик данных, системный администратор.

Kata Academy стала самой популярной школой программирования среди москвичей

77% студентов онлайн-курсов программирования выбирают Kata Academy — школу с оплатой после трудоустройства. К таким выводам пришли аналитики «МегаФона». Они изучили, как изменился спрос на онлайн-курсы среди жителей московского региона.

Книги для программистов, на которые стоит обратить внимание

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

Как перейти в IT из другой сферы

Как войти в IT из другой профессии, без опыта? И возможно ли это? Разбираемся в сегодняшней статье.

Ни на что не намекаем

Но мы выпускаем много полезных материалов о Java, JavaScript, Golang, QA. Подпишись, и они будут у тебя на почте!