error_handler.dart 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:electronic_assistant/utils/http_handler.dart';
  2. import 'package:electronic_assistant/utils/toast_util.dart';
  3. import 'package:get/get.dart';
  4. import '../data/consts/error_code.dart';
  5. import '../resource/string.gen.dart';
  6. class ErrorHandler {
  7. ErrorHandler._();
  8. static void toastError(dynamic error, {String? message}) {
  9. String toastMessage = (error is ServerErrorException)
  10. ? _getToastMessageFromError(error)
  11. : _getDefaultToastMessage(message);
  12. ToastUtil.showToast(toastMessage);
  13. }
  14. static String _getToastMessageFromError(ServerErrorException error) {
  15. return getErrorCodeMsg(error.code) ??
  16. error.message ??
  17. StringName.networkError.tr;
  18. }
  19. static String? getErrorCodeMsg(int? code) {
  20. String? msg;
  21. switch (code) {
  22. case ErrorCode.errorCodeNoLogin:
  23. msg = StringName.errorCodeNoLogin.tr;
  24. break;
  25. }
  26. return msg;
  27. }
  28. static String _getDefaultToastMessage(String? message) {
  29. return message ?? StringName.networkError.tr;
  30. }
  31. }