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:
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:
int f() {
try {
return 1;
} catch (e) {
print(e);
}
}
If the statement is needed, then move the statement outside the finally
block:
int f() {
try {
return 1;
} catch (e) {
print(e);
}
return 0;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.7.3. Page last updated on 2025-05-08. View source or report an issue.