Test::Stream::Plugin::Exception - Simple tools to help test exceptions.


This distribution is deprecated in favor of Test2, Test2::Suite, and Test2::Workflow.

See Test::Stream::Manual::ToTest2 for a conversion guide.


    # Loads Exception, we also need 'Core', so load that as well.
    use Test::Stream qw/Core Exception/;

    ok(lives { ... }, "codeblock did not die");

    like(dies { die 'xxx' }, qr/xxx/, "codeblock threw expected exception");


$bool = lives { ... }

If the codeblock does not throw any exception this will return true. If the codeblock does throw an exception this will return false, after printing the exception as a warning.

    ok(lives { ... }, "codeblock did not die");
$error = dies { ... }

This will return undef if the codeblock does not throw an exception, otherwise it returns the exception. Note, if your exception is an empty string or 0 it is your responsibility to check that the error is defined instead of using a simple boolean check.

    ok( defined dies { die 0 }, "died" );

    like(dies { die 'xxx' }, qr/xxx/, "codeblock threw expected exception");


The source code repository for Test::Stream can be found at


Chad Granum <>


Chad Granum <>


Copyright 2015 Chad Granum <>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.