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