Menu
Coddy logo textTech

Основы try-catch

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

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

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

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

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

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"
  • При успешном выполнении: вернуть результат в виде строки

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

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Проверьте себя

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

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