handleDefaultError static method

Future handleDefaultError({
  1. required dynamic error,
  2. required Future retryCall(),
  3. int retries = 1,
})

Implementation

static Future<dynamic> handleDefaultError({
  required dynamic error,
  required Future<dynamic> Function() retryCall,
  int retries = 1,
}) async {
  if (error is SocketException || error is HandshakeException) {
    ErrorLogger.instance.logWarning(
      file: "error_hanlder",
      event: "handleDefaultError",
      warning: "Seems like there is no internet connection",
    );
    return ErrorResponse.noInternet();
  }

  if (error is TimeoutException) {
    if (await InternetConnectionChecker().hasConnection && retries > 0) {
      return retryCall();
    } else {
      ErrorLogger.instance.logWarning(
        file: "error_handler",
        event: "handleDefaultError",
        warning: "Seems like there is no internet connection",
      );
      return ErrorResponse.noInternet();
    }
  }

  ErrorLogger.instance.logError(
    file: "error_handler",
    event: "handleDefaultError - DEFAULT error",
    error: error,
  );
  return ErrorResponse(
    error: error.toString(),
    errorType: "DEFAULT",
  );
}