跳到主要内容

avoid_catching_errors

稳定

不要显式捕获 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