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

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

Статья создана
Yandex Cloud
Обновлена 20 мая 2026 г.

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

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

Допустим, обработчик возвращает сумму чисел. Если он принимает пустой запрос, это приводит к выбрасыванию IllegalArgumentException.

Код функции:

fun handle(request: IntArray): Int {
    if (request.isEmpty()) throw IllegalArgumentException()
    return request.sum()
}

Ситуация 1. При вызове функции пользователь передает массив чисел [1, 22, 333]:

curl \
     --header "Authorization: Bearer <IAM-тoкен>" \
     --data "[1, 22, 333]" \
     "https://functions.yandexcloud.net/<идентификатор_функции>?integration=raw"

В результате возвращается сумма чисел 356.

Ситуация 2. Пользователь передает пустой массив:

curl \
     --header "Authorization: Bearer <IAM-тoкен>" \
     --data "[]" \
     "https://functions.yandexcloud.net/<идентификатор_функции>?integration=raw"

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

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

{
    "errorMessage": "An exception has occurred in the user code, details: java.lang.IllegalArgumentException. [ERR_USER_CODE]",
    "errorType": "IllegalArgumentException",
    "stackTrace": [
        {
            "function": "handle",
            "file": "Handler.kt",
            "line": 2
        },
            ...
    ]
}

Ситуация 3. Вместо чисел передается строка, что приводит к ошибке десериализации:

curl \
     --header "Authorization: Bearer <IAM-тoкен>" \
     --data "notanarray" \
     "https://functions.yandexcloud.net/<идентификатор_функции>?integration=raw"

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

{
    "errorMessage": "An exception has occurred during request deserialization. Details: com.squareup.moshi.JsonEncodingException: Use JsonReader.setLenient(true) to accept malformed JSON at path $. [ERR_INVALID_REQUEST]",
    "errorType": "FunctionException"
}

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

Предыдущая
Журналирование
Следующая
Использование SDK
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»