throw_in_finally
finally
ブロック内でthrow
を使用しないでください。
このルールはDart 2.0から利用可能です。
詳細
#finally
ブロックで例外をスローするのは**避けてください**。
finally
ブロックで例外をスローすると、デバッグが困難な予期せぬ動作が発生します。
悪い例
dart
class BadThrow {
double nonCompliantMethod() {
try {
print('hello world! ${1 / 0}');
} catch (e) {
print(e);
} finally {
throw 'Find the hidden error :P'; // LINT
}
}
}
良い例
dart
class Ok {
double compliantMethod() {
var i = 5;
try {
i = 1 / 0;
} catch (e) {
print(e); // OK
}
return i;
}
}
使用方法
#throw_in_finally
ルールを有効にするには、analysis_options.yaml
ファイルの**linter > rules**の下にthrow_in_finally
を追加します。
analysis_options.yaml
yaml
linter:
rules:
- throw_in_finally
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。最終更新日:2024年7月3日。 ソースコードを表示 または 問題を報告する。