handleException static method

Error handleException(
  1. dynamic error
)

Implementation

static Error handleException(dynamic error){
  print(error);
  if (error is DioError){
    if (error.type == DioErrorType.other || error.type == DioErrorType.response){
    // if (error.type == DioErrorType.DEFAULT || error.type == DioErrorType.RESPONSE){
    //   print('handleException-->error=${error.toString()}');
    //   print('handleException-->message=${error.message}');
    //   print('handleException-->error=${error.error}');
    //   print('handleException-->response=${error.response is Map}');
    //   print('handleException-->response=${error.response?.data is Map}');
    //   print('handleException-->response data=${error.response?.data}');
    //   print('handleException-->type=${error.type}');
      dynamic responseDataTemp = error.response?.data;
      if((responseDataTemp!=null)&&(responseDataTemp is Map)){
        return Error(user_or_password_error, responseDataTemp['msg']);
      }
      dynamic e = error.error;
      if (e is SocketException){
        return Error(socket_error, "网络异常,请检查你的网络!");
      }
      if (e is HttpException){
        return Error(http_error, "服务器异常!");
      }
      return Error(net_error, "网络异常,请检查你的网络!");
    // }else if (error.type == DioErrorType.CONNECT_TIMEOUT ||
    //     error.type == DioErrorType.SEND_TIMEOUT ||
    //     error.type == DioErrorType.RECEIVE_TIMEOUT){
    }else if (error.type == DioErrorType.connectTimeout ||
        error.type == DioErrorType.sendTimeout ||
        error.type == DioErrorType.receiveTimeout){
      return Error(timeout_error, "连接超时!");
    }else{
//        return Error(unknown_error, "未知异常");
      return Error(unknown_error, "系统繁忙,请稍候重试");
    }
  }else {
//      return Error(unknown_error, "未知异常");
    return Error(unknown_error, "系统繁忙,请稍候重试");
  }
}