升级Dio至5.0.0后遇类型错误:dynamic无法分配给DioExceptionType
Dio 5.0.0 中 DioException 类型参数错误的修复方案
你的问题出在 Dio 5.0.0 的 API 变更上:旧版的DioErrorType枚举已经被移除,取而代之的是DioExceptionType,且枚举成员的命名也做了调整。
修改后的代码片段:
(server) { server.throws( 400, DioException( type: DioExceptionType.badResponse, requestOptions: RequestOptions(path: route), // 可选:补充response字段让异常信息更完整 response: Response( statusCode: 400, requestOptions: RequestOptions(path: route), ), ), ); },
关键说明:
- 原
DioErrorType.response对应新版的DioExceptionType.badResponse,这是专门用来标识服务器返回非2xx状态码的异常类型。 - 新版
DioException建议补充response字段,传入包含对应状态码的Response对象,这样测试中的异常信息会更符合真实请求场景。
内容的提问来源于stack exchange,提问作者dosytres
相关产品推荐
相关产品推荐

