The break
statement exits the nearest enclosing switch
, while
, do
, for
, or foreach
statement.
The target of a break
statement is the end point of the nearest enclosing switch
, while
, do
, for
, or foreach
statement. If a break
statement is not enclosed by a switch
, while
, do
, for
, or foreach
statement, a compile-time error occurs.
When multiple switch
, while
, do
, for
, or foreach
statements are nested within each other, a break
statement applies only to the innermost statement. To transfer control across multiple nesting levels, a goto
statement (§8.9.3) must be used.
A break
statement cannot exit a finally
block (§8.10). When a break
statement occurs within a finally
block, the target of the break
statement must be within the same finally
block, or otherwise a compile-time error occurs.
A break
statement is executed as follows:
break
statement exits one or more try
blocks with associated finally
blocks, control is initially transferred to the finally
block of the innermost try
statement. When and if control reaches the end point of a finally
block, control is transferred to the finally
block of the next enclosing try
statement. This process is repeated until the finally
blocks of all intervening try
statements have been executed.break
statement.Because a break
statement unconditionally transfers control elsewhere, the end point of a break
statement is never reachable.