跳至主要内容

only_throw_errors

稳定

只抛出继承自 Exception 或 Error 的类的实例。

详情

#

请务必只抛出继承自 dart.core.Errordart.core.Exception 的类的实例。

抛出不继承自 ErrorException 的实例是一种不好的做法;这样做通常是为了弥补原本应该更彻底实现的功能。

不好

dart
void throwString() {
  throw 'hello world!'; // LINT
}

dart
void throwArgumentError() {
  Error error = ArgumentError('oh!');
  throw error; // OK
}

启用

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - only_throw_errors

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

analysis_options.yaml
yaml
linter:
  rules:
    only_throw_errors: true