control_
                  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.