Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

dmd.canthrow

Perform checks for nothrow.

Specification Nothrow Functions

Authors:

Source canthrow.d

enum CT: BE;
Status indicating what kind of throwable might be caused by an expression.
This is a subset of BE restricted to the values actually used by canThrow.
none
Never throws an Exception or Throwable
exception
Might throw an Exception
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
Returns:
CT.exception or CT.error if the expression may throw exceptions.