dead_code_catch_following_catch
死代码:'catch (e)' 或 'on Object catch (e)' 后面的 catch 子句永远无法到达。
描述
#当找到一个 catch
子句无法执行,因为它跟在形式为 catch (e)
或 on Object catch (e)
的 catch
子句之后时,分析器会产生此诊断。第一个匹配抛出对象的 catch
子句会被选中,而这两种形式都会匹配任何对象,因此它们后面的任何 catch
子句都不会被选中。
示例
#以下代码会产生此诊断
dart
void f() {
try {
} catch (e) {
} on String {
}
}
常见修复方法
#如果该子句应可被选中,请将其移到通用子句之前
dart
void f() {
try {
} on String {
} catch (e) {
}
}
如果该子句不需要被选中,请将其移除
dart
void f() {
try {
} catch (e) {
}
}