Skip to content

Внутренние ошибки

Классы ошибок, связанные с некорректным жизненным циклом и состояниями действий. Эти ошибки обычно указывают на проблемы с настройкой или использованием действий и не должны обрабатываться в пользовательском коде.

ActionStatusConflictError

Выбрасывается при попытке изменить состояние действия недопустимым способом.

Примеры ситуаций:

  • Выполнение заблокированного действия
  • Попытка выполнить действие, которое уже находится в состоянии pending
  • Попытка разблокировать действие, которое не заблокировано

Пример:

typescript
// Попытка выполнить заблокированное действие
await action.lock()
await action.exec() // Выбросит ActionStatusConflictError

ActionUnexpectedAbortError

Выбрасывается, когда происходит ошибка прерывания, но действие не находится в состоянии pending или lock.

Примеры ситуаций:

  • Прерывание действия, которое уже завершено
  • Прерывание действия в неподходящем состоянии

ActionInternalError

Внутренняя ошибка, указывающая на проблему с настройкой или использованием действия.

Примеры ситуаций:

  • Декоратор @action не применён к методу
  • Модель не содержит метод с указанным именем
  • Метод не является действием (не имеет флага Action.actionFlag)

Пример:

typescript
// Попытка создать действие из метода без декоратора @action
class MyModel extends ProtoModel {
  // Отсутствует @action
  async fetchData() {
    // ...
  }
}

// При создании Action будет выброшена ActionInternalError

См. также: Action и ActionError.

Released under the MIT License.