avoid_catches_without_on_clauses
避免使用沒有 on 子句的 catch。
此規則從 Dart 2.0 開始提供。
詳細資訊
#出自有效的 Dart
避免使用沒有 on 子句的 catch。
使用沒有 on 子句的 catch 子句會讓您的程式碼容易遇到不會被拋出(因此不會被注意到)的意外錯誤。
不良示範
dart
try {
somethingRisky()
} catch(e) {
doSomething(e);
}
良好示範
dart
try {
somethingRisky()
} on Exception catch(e) {
doSomething(e);
}
允許一些例外情況
- 如果 catch 的主體重新拋出例外狀況。
- 如果捕獲的例外狀況「直接用於」
Future.error
、Completer.completeError
或FlutterError.reportError
的引數中,或者任何回傳類型為Never
的函式。 - 如果捕獲的例外狀況「直接用於」新的 throw 表達式中。
在這些情況下,「直接使用」表示例外狀況在相關程式碼(例如在引數內)中被引用。如果例外狀況變數在相關程式碼之前被引用,例如為了實例化一個包裝例外狀況,則該變數不是「直接使用」。
用法
#若要啟用 avoid_catches_without_on_clauses
規則,請在您的 analysis_options.yaml
檔案的 linter > rules 下新增 avoid_catches_without_on_clauses
analysis_options.yaml
yaml
linter:
rules:
- avoid_catches_without_on_clauses
除非另有說明,否則本網站上的文件反映的是 Dart 3.6.0。頁面最後更新於 2024-07-03。 檢視原始碼 或 回報問題。