dmd.blockexit
Find out in what ways control flow can exit a statement block.
License
Source: blockexit.d
Documentation: https://dlang.org/phobos/dmd_blockexit.html
-
Declaration
enumBE: int;BEstands for BlockExit.Discussion
It indicates if a statement does transfer control to another block. A block is a sequence of statements enclosed in { }
-
Declaration
intblockExit(Statements, FuncDeclarationfunc, boolmustNotThrow);Determine mask of ways that a statement can exit.
Discussion
Only valid after semantic analysis.
Parameters
Statementsstatement to check for block exit status
FuncDeclarationfuncfunction that statement
sis inboolmustNotThrowgenerate an error if it throws
Return Value
BE.xxxx
-
Declaration
BEcheckThrow(const ref Locloc, Expressionexp, const boolmustNotThrow, FuncDeclarationfunc);Checks whether
throw <throws anexp>Exceptionor anErrorand raises an error if this violatesnothrow.Parameters
Locloclocation of the
throwExpressionexpexpression yielding the throwable
boolmustNotThrowinside of a
nothrowscope?FuncDeclarationfuncfunction containing the
throwReturn Value
BE.[err]throwdepending on the type ofexp