Menu
Coddy logo textTech

Основы try-catch

Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 40 из 59.

Блоки try-catch в Java используются для обработки исключений (ошибок), которые могут возникнуть во время выполнения программы. Код, который может выбросить исключение, помещается в блок try, а код обработки ошибок — в блок catch.

Вот базовая структура блока try-catch:

try {
   // Код, который может выбросить исключение
} catch (ExceptionType e) {
   // Код для обработки исключения
}

Давайте посмотрим это в действии с Integer.parseInt(), который преобразует строку в целое число:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

После выполнения приведенного выше кода вывод будет:

Error: Not a valid number

challenge icon

Задание

Легко

Создайте метод с именем divideNumbers, который принимает три аргумента:

  1. Строка (num1), представляющая первое число
  2. Строка (num2), представляющая второе число
  3. Целое число (index), представляющее индекс массива

Метод должен:

  1. Создать массив размером 2
  2. Сохранить распарсенное целочисленное значение num1, делённое на распарсенное целочисленное значение num2, по данному индексу
  3. Вернуть значение по данному индексу
  4. Обработать все возможные исключения с соответствующими сообщениями об ошибках

Возвращаемые сообщения должны быть:

  • Для NumberFormatException: "Error: Invalid number format"
  • Для ArithmeticException: "Error: Division by zero"
  • Для ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • Для успешной операции: вернуть результат в виде строки

Шпаргалка

Блоки try-catch обрабатывают исключения (ошибки), которые могут возникнуть во время выполнения программы. Код, который может выбросить исключение, помещается в блок try, а код обработки ошибок — в блок catch.

Базовая структура:

try {
   // Code that might throw an exception
} catch (ExceptionType e) {
   // Code to handle the exception
}

Пример с Integer.parseInt():

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

Общие типы исключений:

  • NumberFormatException - Неверный формат числа
  • ArithmeticException - Деление на ноль
  • ArrayIndexOutOfBoundsException - Неверный индекс массива

Попробуйте сами

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Напишите свой код здесь
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком