跳到主要内容

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