unreachable_switch_default
此 default 子句已被之前的 case 覆蓋。
描述
#當 switch 語句中的 default 子句因所有可匹配值都已被先前的 case 子句匹配而無法匹配任何內容時,分析器會生成此診斷。
示例
#以下程式碼會生成此診斷,因為值 E.e1 和 E.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');
}
}