You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:51:05