跳到主要内容

avoid_catching_errors

稳定

不要显式捕获 Error 或实现 Error 的类型。

详情

#

不要 显式捕获 Error 或实现 Error 的类型。

Error 与 Exception 不同之处在于,Error 可以在运行时之前进行分析和预防。几乎不应该在运行时捕获 Error。

不好的示例

dart
try {
  somethingRisky();
} on Error catch(e) {
  doSomething(e);
}

好的示例

dart
try {
  somethingRisky();
} on Exception catch(e) {
  doSomething(e);
}

启用

#

要启用 avoid_catching_errors 规则,请在 analysis_options.yaml 文件的 linter > rules 下添加 avoid_catching_errors

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_catching_errors

如果您使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 avoid_catching_errors: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_catching_errors: true