NetException.create constructor
NetException.create(
- DioError error
Implementation
factory NetException.create(DioError error) {
switch (error.type) {
case DioErrorType.cancel:
{
return BadRequestException(-1, "请求取消");
}
case DioErrorType.connectionTimeout:
{
return BadRequestException(-1, "连接超时");
}
case DioErrorType.sendTimeout:
{
return BadRequestException(-1, "请求超时");
}
case DioErrorType.receiveTimeout:
{
return BadRequestException(-1, "响应超时");
}
case DioErrorType.badResponse:
{
try {
int errCode = error.response?.statusCode ?? -1;
// String errMsg = error.response.statusMessage;
// return ErrorEntity(code: errCode, message: errMsg);
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 NetException(
errCode, error.response?.statusMessage ?? "");
}
}
} on Exception catch (_) {
return NetException(-1, "未知错误");
}
}
default:
{
return NetException(-1, error.message ?? "");
}
}
}