public static function throws(Closure $expression, $class = 'Exception', $message = '')
{
static::string($class);
$actual = 'none';
try {
$expression();
} catch (Exception $e) {
$actual = get_class($e);
if ($e instanceof $class) {
return;
}
} catch (Throwable $e) {
$actual = get_class($e);
if ($e instanceof $class) {
return;
}
}
static::reportInvalidArgument($message ?: sprintf('Expected to throw "%s", got "%s"', $class, $actual));
}