handleException<T> method
void
handleException<T>({
- required Object error,
- StackTrace? stackTrace,
- T onAuthError()?,
- T onBadRequestError()?,
- T onTimeoutError()?,
- T onOtherError()?,
Логирует исключение и вызывает соответствующий callback в зависимости от его типа.
error – возникшее исключение.
stackTrace – стек вызовов, сопровождающий исключение (опционально).
Callback-функции:
onAuthError– вызывается при ошибке авторизации.onBadRequestError– вызывается при ошибке плохого запроса.onTimeoutError– вызывается при таймауте запроса.onOtherError– вызывается для других типов ошибок.
Перед выполнением callback-функций исключение передаётся в _exceptionService для логирования.
Implementation
void handleException<T>({
required Object error,
StackTrace? stackTrace,
T Function(ApiException)? onAuthError,
T Function(ApiException)? onBadRequestError,
T Function(ApiException)? onTimeoutError,
T Function(Object)? onOtherError,
}) {
exceptionService.capture(error, stackTrace);
if (error is ApiException) {
switch (error.type) {
case ApiExceptionType.auth:
onAuthError?.call(error);
break;
case ApiExceptionType.badRequest:
onBadRequestError?.call(error);
break;
case ApiExceptionType.timeout:
onTimeoutError?.call(error);
break;
case ApiExceptionType.other:
onOtherError?.call(error);
break;
}
} else {
onOtherError?.call(error);
}
}