Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: error, handling, throw

Как правильно выбрасывать ошибку при некорректных аргументах?

Вопрос проверяет понимание корректной обработки ошибок и защитного программирования в JavaScript.

Короткий ответ

Ошибку следует выбрасывать сразу при обнаружении некорректного аргумента. Обычно используют throw и стандартные классы ошибок, такие как TypeError или Error. Сообщение ошибки должно быть понятным и описывать проблему. Это упрощает отладку и предотвращает выполнение некорректной логики. Такой подход считается хорошей практикой.

Длинный ответ

Корректная обработка ошибок начинается с явной проверки входных данных.

Общие принципы выбрасывания ошибок

  1. Ранняя проверка аргументов
    Проверка должна выполняться в начале функции, до основной логики.

  2. Использование подходящего типа ошибки

    • TypeError — если аргумент неверного типа

    • RangeError — если значение вне допустимого диапазона

    • Error — для общих случаев

  3. Понятное сообщение ошибки
    Сообщение должно объяснять:

    • какой аргумент некорректен

    • какое значение ожидалось

Пример корректной реализации

function some<T>(array: T[], callback: (value: T) => boolean): boolean {
  if (!Array.isArray(array)) {
    throw new TypeError('First argument must be an array')
  }

  if (typeof callback !== 'function') {
    throw new TypeError('Second argument must be a function')
  }

  for (let i = 0; i < array.length; i++) {
    if (callback(array[i])) {
      return true
    }
  }

  return false
}

Почему это важно

  • ошибки обнаруживаются сразу

  • код становится предсказуемым

  • упрощается отладка и поддержка

Вывод

Правильное выбрасывание ошибок — это явная проверка аргументов и использование подходящих типов ошибок с понятными сообщениями.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#error

#handling

#throw

Подпишись на React Developer в телеграм