跳到主内容

use_rethrow_when_possible

使用 'rethrow' 来重新抛出捕获的异常。

描述

#

当捕获的异常使用 throw 表达式而非 rethrow 语句抛出时,分析器会生成此诊断。

示例

#

以下代码会生成此诊断,因为捕获的异常 e 使用 throw 表达式抛出

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

常见修复方法

#

使用 rethrow 代替 throw

dart
void f() {
  try {
    // ...
  } catch (e) {
    rethrow;
  }
}