跳到主內容

control_flow_in_finally

在 'finally' 子句中使用 '{0}'。

描述

#

finally 子句包含 returnbreakcontinue 語句時,分析器會生成此診斷資訊。

示例

#

以下程式碼會生成此診斷資訊,因為 finally 塊內包含 return 語句

dart
int f() {
  try {
    return 1;
  } catch (e) {
    print(e);
  } finally {
    return 0;
  }
}

常見修復方法

#

如果不需要該語句,則將其刪除;如果塊為空,則刪除 finally 子句

dart
int f() {
  try {
    return 1;
  } catch (e) {
    print(e);
  }
}

如果需要該語句,則將其移到 finally 塊外部

dart
int f() {
  try {
    return 1;
  } catch (e) {
    print(e);
  }
  return 0;
}