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.9.2. Page last updated on 2025-9-1. View source or report an issue.