Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Разработка на Java
  2. Обработка ошибок

Обработка ошибок функции на Java

Статья создана
Yandex Cloud
Обновлена 6 августа 2024 г.

Если обработчик сигнализирует об ошибке исполнения или загрузки функции, среда выполнения автоматически перехватывает ошибку и возвращает в ответ JSON-документ, содержащий информацию о типе ошибки. Формат этого JSON-документа описан в разделе Вызов функции. Информация об ошибке записывается в журнал выполнения.

Примеры обработки ошибкиПримеры обработки ошибки

Ситуация 1: пользовательский код выходит за пределы массива, что приводит к выбрасыванию ArrayIndexOutOfBoundsException. Среда выполнения перехватывает исключение и формирует из него JSON-документ, содержащий сообщение об ошибке (поле errorMessage), тип ошибки (поле errorType) и трассировку стека (поле stackTrace).

Код функции:

import java.util.function.Function;

public class Handler implements Function<byte[], Integer> {
  @Override
  public Integer apply(byte[] input) {
    final var array = new int[]{1, 2, 3, 4, 5};
    // в этом месте функция выбросит исключение ArrayIndexOutOfBoundsException
    return array[15];
  }
}

Возвращаемый JSON-документ:

{
  "errorMessage": "Index 15 out of bounds for length 5",
  "errorType": "ArrayIndexOutOfBoundsException",
  "stackTrace": [
    ...
  ]
}

Ситуация 2: пользовательский код сигнализирует об ошибке путем механизма выбрасывания ее из функции.

Код функции:

import java.util.function.Function;

public class Handler implements Function<byte[], Integer> {
  @Override
  public Integer apply(byte[] input) {
    throw new RuntimeException("Some error message");
  }
}

Возвращаемый JSON-документ:

{
  "errorMessage": "Some error message",
  "errorType": "RuntimeException",
  "stackTrace": [
    ...
  ]
}

Была ли статья полезна?

Предыдущая
Журналирование
Следующая
Использование SDK
Проект Яндекса
© 2025 ООО «Яндекс.Облако»