FormErrorHandler
Defined in: core/utils/error-handler.ts:78
Централизованный обработчик ошибок для форм
Обеспечивает:
- Единообразное логирование ошибок в DEV режиме
- Гибкие стратегии обработки (throw/log/convert)
- Типобезопасное извлечение сообщений из Error/string/unknown
Example
// В async validator (конвертировать в ValidationError)
try {
await validateEmail(value);
} catch (error) {
return FormErrorHandler.handle(error, 'EmailValidator', ErrorStrategy.CONVERT);
}
// В behavior applicator (пробросить критичную ошибку)
try {
applyBehavior(schema);
} catch (error) {
FormErrorHandler.handle(error, 'BehaviorApplicator', ErrorStrategy.THROW);
}
// В validator (залогировать и продолжить)
try {
validator(value);
} catch (error) {
FormErrorHandler.handle(error, 'Validator', ErrorStrategy.LOG);
}
Constructors
Constructor
new FormErrorHandler(): FormErrorHandler;
Returns
FormErrorHandler
Methods
createValidationError()
static createValidationError(
code,
message,
field?): ValidationError;
Defined in: core/utils/error-handler.ts:214
Создать ValidationError с заданными параметрами
Утилитная функция для создания ValidationError объектов
Parameters
code
string
Код ошибки
message
string
Сообщение ошибки
field?
string
Поле (опционально)
Returns
ValidationError объект
Example
const error = FormErrorHandler.createValidationError(
'required',
'This field is required',
'email'
);
// { code: 'required', message: 'This field is required', field: 'email' }
handle()
static handle(
error,
context,
strategy): void | ValidationError;
Defined in: core/utils/error-handler.ts:118
Обработать ошибку согласно заданной стратегии
Parameters
error
unknown
Ошибка для обработки (Error | string | unknown)
context
string
Контекст ошибки для логирования (например, 'AsyncValidator', 'BehaviorRegistry')
strategy
ErrorStrategy = ErrorStrategy.THROW
Стратегия обработки (THROW | LOG | CONVERT)
Returns
void | ValidationError
ValidationError если strategy = CONVERT, undefined если strategy = LOG, никогда не возвращается если strategy = THROW
Example
// THROW - пробросить ошибку
try {
riskyOperation();
} catch (error) {
FormErrorHandler.handle(error, 'RiskyOperation', ErrorStrategy.THROW);
// Этот код никогда не выполнится
}
// LOG - залогировать и продолжить
try {
nonCriticalOperation();
} catch (error) {
FormErrorHandler.handle(error, 'NonCritical', ErrorStrategy.LOG);
// Продолжаем выполнение
}
// CONVERT - конвертировать в ValidationError
try {
await validator(value);
} catch (error) {
const validationError = FormErrorHandler.handle(
error,
'AsyncValidator',
ErrorStrategy.CONVERT
);
return validationError;
}
isValidationError()
static isValidationError(value): value is ValidationError;
Defined in: core/utils/error-handler.ts:237
Проверить, является ли объект ValidationError
Type guard для ValidationError
Parameters
value
unknown
Значение для проверки
Returns
value is ValidationError
true если value является ValidationError
Example
if (FormErrorHandler.isValidationError(result)) {
console.log(result.code); // OK, типобезопасно
}