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