Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 42(212)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7

Библиографическое описание:
Берьянов М.С. СОЗДАНИЕ ФУНКЦИОНАЛЬНОЙ ОБЕРТКИ ДЛЯ ОБРАБОТКИ ОШИБОК НА ЯЗЫКЕ JAVA // Студенческий: электрон. научн. журн. 2022. № 42(212). URL: https://sibac.info/journal/student/212/275600 (дата обращения: 22.11.2024).

СОЗДАНИЕ ФУНКЦИОНАЛЬНОЙ ОБЕРТКИ ДЛЯ ОБРАБОТКИ ОШИБОК НА ЯЗЫКЕ JAVA

Берьянов Максим Сергеевич

студент, факультет ПИиКТ, Университет ИТМО,

РФ, г. Санкт-Петербург

CREATING EXCEPTIONS PROCESSING FUNCTIONAL WRAPPER IN JAVA LANGUAGE

 

Maxim Beryanov

Student, PIKT faculty, ITMO University,

Russia, Saint-Petersburg

 

АННОТАЦИЯ

Программные исключения – неотъемлемая часть большинства приложений. Они имеют место быть ввиду возникновения ошибок и непредвиденных ситуаций при выполнении программы. В языке Java существует несколько способов обработки ошибок, и данная статья нацелена на представление наиболее удобного принципа такой обработки.

ABSTRACT

Software exceptions are an integral part of most applications. They take place due to errors and unforeseen situations during program execution occurrence. There are several ways to handle errors in Java language, and this article aims to present the most convenient principle for such handling.

 

Ключевые слова: веб, Java, исключение, ошибка, обработка.

Keywords: web, Java, exception, error, handling.

 

Для обработки исключений в языке Java [1] могут использоваться следующие подходы: 1) добавление блока try-catch [2] в лямбда-утверждение [3]; 2) извлечение блока try-catch в метод-оболочку; 3) создание generic метода-обертки блока try-catch.

Использование блока try-catch для обработки исключений в лямбда-выражении – самый простой способ произвести проверку исключения (рисунок 1).

 

Рисунок 1. Простой блок try/catch

 

Скажем, мы используем набор строк, перебирая которые генерируем искусственное исключение RuntimeException с передачей нужного сообщения, а затем в области catch отлавливаем эту ошибку и печатаем на экран. Добавление блока try-catch в лямбда-выражение может ухудшить читабельность кода, ведь он должен быть кратким, так как обычно является частью функциональной цепочки вызовов. Приведенный выше блок try-catch можно выделить в отдельный метод (рисунок 2). Лямбда-выражение теперь преобразуется в краткую и чистую форму представления, занимающая только одну строку.

 

Рисунок 2. Функция с обработкой исключения внутри

 

Приведенный выше подход достаточно неплох, но нам придется каждый раз извлекать блок try-catch в отдельный метод. Поскольку forEach требует встроенный функциональный интерфейс Consumer (принимающий один параметр на вход и не возвращающий никаких выходных данных), мы можем создать аналогичный функциональный интерфейс, выбрасывающий Exception в абстрактном методе accept, и статический метод, который принимает данный пользовательский интерфейс (назовем его ExceptionProcessingConsumer) и внутри себя реализует ту самую нужную нам проверку исключительной ситуации (рисунок 3).

 

Рисунок 3. Обертка с проверкой исключения внутри

 

Таким образом, благодаря использованию такого вида обертки можно существенно сократить объем кода при проверке исключения в Java-приложении, а использование еще одного обобщенного Consumer внутри блока catch позволит внести еще большую универсальность в такой принцип.

 

Список литературы:

  1. Java [Электронный ресурс] URL: https://www.java.com/ru/ (дата обращения: 22.12.2022).
  2. Обработка ошибок в Java [Электронный ресурс] URL: https://docs.oracle.com/javase/tutorial/essential/exceptions/handling.html (дата обращения: 22.12.2022).
  3. Лямбда-выражения в Java [Электронный ресурс] URL: https://habr.com/ru/post/512730/ (дата обращения: 22.12.2022).

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.