AppException.create constructor
AppException.create(
- DioError error,
- int type
Implementation
factory AppException.create(DioError error, int type) {
switch (error.type) {
// case DioErrorType.cancel:
// return BadRequestException(-1, "请求取消");
case DioErrorType.connectTimeout:
return BadRequestException(-1, "连接超时");
case DioErrorType.sendTimeout:
return BadRequestException(-1, "请求超时");
case DioErrorType.receiveTimeout:
return BadRequestException(-1, "响应超时");
case DioErrorType.response:
try {
int? errCode = error.response!.statusCode;
switch (errCode) {
case 400:
return BadRequestException(errCode!, "请求语法错误");
case 401:
return UnauthorisedException(errCode!, "没有权限");
case 403:
return UnauthorisedException(errCode!, "服务器拒绝执行");
case 404:
return UnauthorisedException(errCode!, "无法连接服务器");
case 405:
return UnauthorisedException(errCode!, "请求方法被禁止");
case 500:
return UnauthorisedException(errCode!, "服务器内部错误");
case 502:
return UnauthorisedException(errCode!, "无效的请求");
case 503:
return UnauthorisedException(errCode!, "服务器挂了");
case 505:
return UnauthorisedException(errCode!, "不支持HTTP协议请求");
default:
return AppException(errCode!, error.response!.statusMessage!);
}
} on Exception catch (_) {
return AppException(-1, "未知错误");
}
default:
if (type == 1) {
return AppException(-1, error.error?._message);
} else {
return AppException(-1, error.error.message);
}
}
}