Внутренние ошибки
Классы ошибок, связанные с некорректным жизненным циклом и состояниями действий. Эти ошибки обычно указывают на проблемы с настройкой или использованием действий и не должны обрабатываться в пользовательском коде.
ActionStatusConflictError
Выбрасывается при попытке изменить состояние действия недопустимым способом.
Примеры ситуаций:
- Выполнение заблокированного действия
- Попытка выполнить действие, которое уже находится в состоянии
pending - Попытка разблокировать действие, которое не заблокировано
Пример:
typescript
// Попытка выполнить заблокированное действие
await action.lock()
await action.exec() // Выбросит ActionStatusConflictErrorActionUnexpectedAbortError
Выбрасывается, когда происходит ошибка прерывания, но действие не находится в состоянии pending или lock.
Примеры ситуаций:
- Прерывание действия, которое уже завершено
- Прерывание действия в неподходящем состоянии
ActionInternalError
Внутренняя ошибка, указывающая на проблему с настройкой или использованием действия.
Примеры ситуаций:
- Декоратор
@actionне применён к методу - Модель не содержит метод с указанным именем
- Метод не является действием (не имеет флага
Action.actionFlag)
Пример:
typescript
// Попытка создать действие из метода без декоратора @action
class MyModel extends ProtoModel {
// Отсутствует @action
async fetchData() {
// ...
}
}
// При создании Action будет выброшена ActionInternalErrorСм. также: Action и ActionError.
