跳到主要內容

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) {
  }
}