跳到主要內容

throw_in_finally

在 'finally' 塊中使用 '{0}'。

描述

#

當在 finally 塊中找到 throw 語句時,分析器會產生此診斷。

示例

#

以下程式碼會產生此診斷,因為在 finally 塊中存在 throw 語句

dart
void f() {
  try {
    // ...
  } catch (e) {
    // ...
  } finally {
    throw 'error';
  }
}

常見修復方法

#

重寫程式碼,使 throw 語句不在 finally 塊中

dart
void f() {
  try {
    // ...
  } catch (e) {
    // ...
  }
  throw 'error';
}