import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:farm_tpf/utils/const_string.dart'; class AppException { static String handleError(dynamic error) { String errorDescription = ""; try { DioError dioError = error as DioError; switch (dioError.type) { case DioErrorType.CANCEL: errorDescription = exception_dio_cancle; break; case DioErrorType.CONNECT_TIMEOUT: errorDescription = exception_dio_connect_timeout; break; case DioErrorType.DEFAULT: errorDescription = exception_dio_default; break; case DioErrorType.RECEIVE_TIMEOUT: errorDescription = exception_dio_receive_timeout; break; case DioErrorType.RESPONSE: int statusCode = dioError.response.statusCode; if (statusCode == 400) { errorDescription = exception_dio_400; } else if (statusCode == 401) { errorDescription = exception_dio_401; } else if (statusCode == 403) { errorDescription = exception_dio_403; } else if (statusCode == 404) { errorDescription = exception_dio_404; } else if (statusCode == 500) { errorDescription = exception_dio_500; } else { errorDescription = exception_common; } break; case DioErrorType.SEND_TIMEOUT: errorDescription = exception_dio_send_timeout; break; } } catch (_) { errorDescription = exception_common; } return errorDescription; } }