跳到主要內容

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');
  }
}