You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.5KB

  1. import 'package:dio/dio.dart';
  2. import 'package:farm_tpf/utils/const_string.dart';
  3. class AppException {
  4. static String handleError(dynamic error) {
  5. String errorDescription = "";
  6. if (error is DioError) {
  7. DioError dioError = error;
  8. switch (dioError.type) {
  9. case DioErrorType.CANCEL:
  10. errorDescription = exception_dio_cancle;
  11. break;
  12. case DioErrorType.CONNECT_TIMEOUT:
  13. errorDescription = exception_dio_connect_timeout;
  14. break;
  15. case DioErrorType.DEFAULT:
  16. errorDescription = exception_dio_default;
  17. break;
  18. case DioErrorType.RECEIVE_TIMEOUT:
  19. errorDescription = exception_dio_receive_timeout;
  20. break;
  21. case DioErrorType.RESPONSE:
  22. int statusCode = dioError.response.statusCode;
  23. if (statusCode == 400) {
  24. errorDescription = exception_dio_400;
  25. } else if (statusCode == 401) {
  26. errorDescription = exception_dio_401;
  27. } else if (statusCode == 403) {
  28. errorDescription = exception_dio_403;
  29. } else if (statusCode == 404) {
  30. errorDescription = exception_dio_404;
  31. } else if (statusCode == 500) {
  32. errorDescription = exception_dio_500;
  33. } else {
  34. errorDescription = exception_common;
  35. }
  36. break;
  37. case DioErrorType.SEND_TIMEOUT:
  38. errorDescription = exception_dio_send_timeout;
  39. break;
  40. }
  41. } else {
  42. errorDescription = exception_common;
  43. }
  44. return errorDescription;
  45. }
  46. }