View source code
Display the source code in std/exception.d from which this page was generated on
github.
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
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.exception.assertThrown
Asserts that the given expression throws the given type of Throwable.
The Throwable is caught and does not escape assertThrown. However,
any other Throwables will escape, and if no Throwable
of the given type is thrown, then an AssertError is thrown.
Prototype
void assertThrown(T, E)( E expression, string msg = null, string file = __FILE__, size_t line = __LINE__ );
Parameters
| Name | Description |
|---|---|
| T | The Throwable to test for. |
| expression | The expression to test. |
| msg | Optional message to output on test failure. |
| file | The file where the error occurred.
Defaults to _FILE__. |
| line | The line where the error occurred.
Defaults to _LINE__. |
Throws
AssertError if the given Throwable is not thrown.
Example
import core.exception : AssertError;
import std.string;
assertThrown!StringException(enforce!StringException(false, "Error!"));
//Exception is the default.
assertThrown(enforce!StringException(false, "Error!"));
assert(collectExceptionMsg!AssertError(assertThrown!StringException(
enforce!StringException(true, "Error!"))) ==
assertThrown failed: No StringException was thrown.);
Authors
Andrei Alexandrescu and Jonathan M Davis