avoid-non-final-exception-class-fields
- Group
- Suspicious
- Path
lint/suspicious/avoid-non-final-exception-class-fields- Default
- Off, opt in
- Origin
- Falcon
- Rule
- 105 of 512
Exception and Error payloads should not change after construction.
Invalid
class Failure implements Exception {
String message;
int code = 0;
int count = 0;
late Object detail;
Failure(this.message);
}
class SpecificFailure extends Failure {
String context = '';
SpecificFailure() : super('failure');
}
class FailureError extends Error {
int code = 0;
}class Failure implements Exception { String message; String message; int code = 0; int code = 0; int count = 0; int count = 0; late Object detail;class SpecificFailure extends Failure { String context = '';class FailureError extends Error { int code = 0;Valid
class Failure implements Exception {
final String message;
late final Object detail;
static int total = 0;
static const category = 'failure';
Failure(this.message);
String get description => message;
}
class SpecificFailure extends Failure {
final String context;
SpecificFailure(this.context) : super('failure');
}
class FailureError extends Error { final int code = 1; }
class NotAnException { int mutable = 0; }Configure avoid-non-final-exception-class-fields
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"suspicious": {
"avoid-non-final-exception-class-fields": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/suspicious/avoid-non-final-exception-class-fields: <reason>More suspicious rules
- avoid-passing-async-when-sync-expected
avoid-passing-async-when-sync-expectedrecommendedFlags an
asyncclosure passed to a proven synchronous callback parameter. - avoid-passing-bloc-to-blocbloc
Rejects direct Bloc and Cubit arguments to other blocs.
- avoid-passing-bloc-to-widgetbloc
Rejects direct Bloc and Cubit arguments to Flutter widget constructors.
- avoid-passing-build-context-to-blocsbloc
Keeps Flutter
BuildContextarguments outside Bloc and Cubit APIs. - avoid-print
avoid_printrecommendedflutterFlags calls and callback arguments resolving to
dart:core'sprint. - avoid-referencing-subclasses
Keeps base classes independent from their transitive subclasses.
- avoid-returning-null-for-void
avoid_returning_null_for_voidrecommendedFlags
return null;(and=> nullbodies) in synchronousvoidfunctions and asynchronousFuture<void>functions. - avoid-shadowed-extension-methods
Flags extension instance methods and accessors hidden by their target's members.