跳到主要内容

unreachable_switch_case

此 case 已被之前的 case 覆盖。

描述

#

当 `switch` 语句中的某个 `case` 子句因所有可匹配的值都已被之前的 `case` 子句匹配而无法匹配任何内容时,分析器会生成此诊断。

示例

#

以下代码会生成此诊断,因为值 `1` 已在之前的 case 中匹配

dart
void f(int x) {
  switch (x) {
    case 1:
      print('one');
    case 1:
      print('two');
  }
}

常见修复方法

#

修改冲突的 case 之一或全部,使其匹配不同的值

dart
void f(int x) {
  switch (x) {
    case 1:
      print('one');
    case 2:
      print('two');
  }
}