control_flow_in_finally
Use of '{0}' in a 'finally' clause.
Description
#The analyzer produces this diagnostic when a finally
clause contains a return
, break
, or continue
statement.
Example
#The following code produces this diagnostic because there is a return
statement inside a finally
block:
dart
int f() {
try {
return 1;
} catch (e) {
print(e);
} finally {
return 0;
}
}
Common fixes
#If the statement isn't needed, then remove the statement, and remove the finally
clause if the block is empty:
dart
int f() {
try {
return 1;
} catch (e) {
print(e);
}
}
If the statement is needed, then move the statement outside the finally
block:
dart
int f() {
try {
return 1;
} catch (e) {
print(e);
}
return 0;
}
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.