try/catch/finally
Научитесь использовать try, catch и finally для безопасной обработки ошибок во время выполнения.
«try/catch/finally» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Введение
Программы иногда сталкиваются с ошибками: неверными входными данными, отсутствующими файлами или делением на ноль. Исключения — это способ Java обрабатывать такие ситуации без аварийного завершения программы.
Обзор try/catch
Поместите потенциально опасный код в блок try. Если возникает исключение, управление переходит в соответствующий блок catch. Это позволяет корректно обрабатывать ошибки.
Код: простой try/catch
Этот код перехватывает ArithmeticException и выводит понятное сообщение вместо аварийного завершения программы.
public class Main {
public static void main(String[] args) {
try {
int x = 10 / 0; // risky division
System.out.println("Result=" + x);
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero!");
}
}
}
Несколько обработчиков
Можно разместить несколько блоков обработки исключений, чтобы отдельно обрабатывать разные типы исключений. Порядок важен: сначала размещайте более конкретные блоки, затем общие.
Код: несколько обработчиков
Исключение NullPointerException перехватывается своим специальным блоком. Каждый тип можно обрабатывать по-разному.
public class Main {
public static void main(String[] args) {
try {
String s = null;
System.out.println(s.length()); // NullPointerException
} catch (ArithmeticException e) {
System.out.println("Math error");
} catch (NullPointerException e) {
System.out.println("Null reference error");
}
}
}
Код: завершающий блок
Завершающий блок выполняется независимо от того, произошло исключение или нет. Используйте его для очистки ресурсов, например для закрытия файлов.
public class Main {
public static void main(String[] args) {
try {
int[] arr = {1,2};
System.out.println(arr[5]); // ArrayIndexOutOfBounds
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Bad index!");
} finally {
System.out.println("Finally block always runs");
}
}
}
Проверка завершающего блока
Быстрая проверка: каково назначение завершающего блока?
Повторение
Повторение: блок try обрабатывает рискованный код, блок обработки реагирует на ошибки, а завершающий блок каждый раз выполняет очистку ресурсов.
Часто задаваемые вопросы
Урок «try/catch/finally» бесплатный?
Да — полный текст урока «try/catch/finally» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «try/catch/finally»?
Научитесь использовать try, catch и finally для безопасной обработки ошибок во время выполнения. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «try/catch/finally»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- try/catch/finally
- Проверяемые и непроверяемые исключения
- Чтение трассировок стека