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