# dmd.blockexit

Find out in what ways control flow can exit a statement block.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: blockexit.d

Documentation: https://dlang.org/phobos/dmd_blockexit.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/blockexit.d

- `BE`

  #### Declaration

  `enum `BE`: int;`

  `BE` stands for BlockExit.

  #### Discussion

  It indicates if a statement does transfer control to another block. A block is a sequence of statements enclosed in { }

- `blockExit`

  #### Declaration

  `int `blockExit`(Statement `s`, FuncDeclaration `func`, bool `mustNotThrow`);`

  Determine mask of ways that a statement can exit.

  #### Discussion

  Only valid after semantic analysis.

  #### Parameters

  `Statement `s`` | statement to check for block exit status
  `FuncDeclaration `func`` | function that statement `s` is in
  `bool `mustNotThrow`` | generate an error if it throws

  #### Return Value

  BE.xxxx