assertNotThrown

Asserts that the given expression does not throw the given type of Throwable. If a Throwable of the given type is thrown, it is caught and does not escape assertNotThrown. Rather, an AssertError is thrown. However, any other Throwables will escape.

assertNotThrown
(
T : Throwable = Exception
E
)
(
lazy E expression
,
string msg = null
,
string file = __FILE__
,
size_t line = __LINE__
)

Parameters

T

The Throwable to test for.

expression E

The expression to test.

msg string

Optional message to output on test failure. If msg is empty, and the thrown exception has a non-empty msg field, the exception's msg field will be output on test failure.

file string

The file where the error occurred. Defaults to __FILE__.

line size_t

The line where the error occurred. Defaults to __LINE__.

Return Value

Type: auto

the result of expression.

Throws

AssertError if the given Throwable is thrown.

Examples

import core.exception : AssertError;

import std.string;
assertNotThrown!StringException(enforce!StringException(true, "Error!"));

//Exception is the default.
assertNotThrown(enforce!StringException(true, "Error!"));

assert(collectExceptionMsg!AssertError(assertNotThrown!StringException(
           enforce!StringException(false, "Error!"))) ==
       `assertNotThrown failed: StringException was thrown: Error!`);

Meta