rethrow_outside_catch
rethrow 必须在 catch 子句内部。
描述
#当 rethrow 语句位于 catch 子句之外时,分析器会生成此诊断信息。rethrow 语句用于再次抛出捕获到的异常,但在 catch 子句之外没有捕获到的异常。
示例
#以下代码会生成此诊断信息,因为 rethrow 语句位于 catch 子句之外
dart
void f() {
rethrow;
}常见修正方法
#如果您试图重新抛出异常,请将 rethrow 语句包装在 catch 子句中
dart
void f() {
try {
// ...
} catch (exception) {
rethrow;
}
}如果您试图抛出一个新异常,请将 rethrow 语句替换为 throw 表达式
dart
void f() {
throw UnsupportedError('Not yet implemented');
}