Основы 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
Задание
ЛегкоСоздайте метод с именем divideNumbers, который принимает три аргумента:
- Строку (
num1), представляющую первое число - Строку (
num2), представляющую второе число - Целое число (
index), представляющее индекс массива
Метод должен:
- Создать массив размером 2
- Сохранить результат деления преобразованного в целое число значения num1 на преобразованное в целое число значение num2 по заданному индексу
- Вернуть значение по заданному индексу
- Обработать все возможные исключения, возвращая вместо результата соответствующее сообщение об ошибке
Сообщения об ошибках должны быть следующими:
- Для
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));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка слов