control_flow_in_finally   
Avoid control flow in finally blocks.
此规则自 Dart 2.0 版本起可用。
_规则集:recommended , flutter _
详情
#AVOID control flow leaving finally blocks.
Using control flow in finally blocks will inevitably cause unexpected behavior that is hard to debug.
BAD:
dart
class BadReturn {
  double nonCompliantMethod() {
    try {
      return 1 / 0;
    } catch (e) {
      print(e);
    } finally {
      return 1.0; // LINT
    }
  }
}BAD:
dart
class BadContinue {
  double nonCompliantMethod() {
    for (var o in [1, 2]) {
      try {
        print(o / 0);
      } catch (e) {
        print(e);
      } finally {
        continue; // LINT
      }
    }
    return 1.0;
  }
}BAD:
dart
class BadBreak {
  double nonCompliantMethod() {
    for (var o in [1, 2]) {
      try {
        print(o / 0);
      } catch (e) {
        print(e);
      } finally {
        break; // LINT
      }
    }
    return 1.0;
  }
}GOOD:
dart
class Ok {
  double compliantMethod() {
    var i = 5;
    try {
      i = 1 / 0;
    } catch (e) {
      print(e); // OK
    }
    return i;
  }
}使用方法
#要启用 control_flow_in_finally 规则,请在你的 analysis_options.yaml 文件中,在 linter > rules 下添加 control_flow_in_finally :
analysis_options.yaml
yaml
linter:
  rules:
    - control_flow_in_finally除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面最后更新于 2025-02-05。 查看源代码 或 报告问题.