跳到主要內容

unreachable_switch_default

此 default 子句已被之前的 case 覆蓋。

描述

#

switch 語句中的 default 子句因所有可匹配值都已被先前的 case 子句匹配而無法匹配任何內容時,分析器會生成此診斷。

示例

#

以下程式碼會生成此診斷,因為值 E.e1E.e2 已在先前的 case 中匹配:

dart
enum E { e1, e2 }

void f(E x) {
  switch (x) {
    case E.e1:
      print('one');
    case E.e2:
      print('two');
    default:
      print('other');
  }
}

常見修復方法

#

移除不必要的 default 子句

dart
enum E { e1, e2 }
void f(E x) {
  switch (x) {
    case E.e1:
      print('one');
    case E.e2:
      print('two');
  }
}