dmd.canthrow

Perform checks for nothrow.

Specification: Nothrow Functions

Authors

Walter Bright

Source: canthrow.d

  • CT

    Declaration

    enum CT: BE;

    Status indicating what kind of throwable might be caused by an expression.

    Discussion

    This is a subset of BE restricted to the values actually used by canThrow.

    • Declaration

      none

      Never throws an Exception or Throwable

    • Declaration

      exception

      Might throw an Exception

  • Declaration

    CT canThrow(Expression e, FuncDeclaration func, ErrorSink eSink);

    If eSink is not null, generate an error if e throws

    Parameters

    Expression e

    expression to check for throwing

    FuncDeclaration func

    function

    ErrorSink eSink

    if !null, then send error messages to eSink

    Return Value

    CT.exception or CT.error if the expression may throw exceptions.