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

Flutter编译报错:找不到FallThroughError方法,不知如何定义

解决 Flutter 编译时 FallThroughError 找不到的问题

问题原因

FallThroughError 是 Dart 旧版本中的 API,在 Dart 2.14 及更高版本中已被移除。你使用的 cloud_firestore_platform_interface-5.7.7 和 firebase_auth_platform_interface-6.10.1 版本过旧,仍在调用这个已废弃的 API,导致编译失败。

解决方案

方案1:升级 Firebase 相关依赖包(推荐)

直接更新项目中 Firebase 依赖到兼容新版本 Dart 的版本:

  • 打开项目根目录的 pubspec.yaml 文件
  • 将 cloud_firestore、firebase_auth 等所有 Firebase 相关依赖的版本号更新为最新稳定版,或指定兼容的版本范围
  • 执行以下命令更新依赖:
flutter pub upgrade
flutter pub get

方案2:临时修改缓存依赖代码(应急用,不推荐)

若暂时无法升级依赖,可手动修改缓存中的依赖文件:

  1. 定位到报错提示的两个文件路径:
    • ../../../AppData/Local/Pub/Cache/hosted/pub.dev/cloud_firestore_platform_interface-5.7.7/lib/src/platform_interface/utils/load_bundle_task_state.dart
    • ../../../AppData/Local/Pub/Cache/hosted/pub.dev/firebase_auth_platform_interface-6.10.1/lib/src/action_code_info.dart
  2. 将文件中的 throw FallThroughError(); 替换为以下任意一种写法:
    // 写法1:抛出通用不支持错误
    throw UnsupportedError('Unexpected case');
    // 写法2:若 Dart 版本 >=2.14,使用 unreachable 关键字
    unreachable();
    

方案3:检查 Dart 版本兼容性

确认项目 Dart 版本与依赖包匹配:

  • 打开 pubspec.yaml,查看 environment 中的 sdk 版本范围,确保其与 Firebase 依赖版本兼容
  • 必要时可调整 Dart 版本到依赖包支持的范围(优先选择升级依赖而非降级 Dart)

内容的提问来源于stack exchange,提问作者Aqiela Adhlina

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 17:10:16