NAME

    Try::Tiny::NoDie - minimal try/catch with local-disabling of SIGDIE

SYNOPSIS

    Preserves all of Try::Tiny's semantics to expect and handle exceptions
    but adds a try_no_die keyword which behaves exactly just like try but
    with a locally-disabled __DIE__ hook.

    As such:

      try_no_die {
        die "foo";
      };

    is exactly equivalent to:

      try {
        local $SIG{__DIE__} = "IGNORE";
        die "foo";
      };

DESCRIPTION

    This module is primarily designed for developer convenience, for cases
    wherein the desired behavior within the scope of the error throwing
    code is a nullified __DIE__ handler.

FAQ

  Why not add an option to disable __DIE__ on Try::Tiny?

    Yes, that's possible.

    However, as Try::Tiny aims to preserve compatibility as one of its
    design objective, Try::Tiny::NoDie holds a different opinion and offers
    this option to the developer.

  Why not override the default behavior of try instead?

    As disabling __DIE__ within the scope of the error throwing code is a
    rather specific corner case, this poses a potential risk when the
    developer expects otherwise if the same keyword was to be overriden.

    Due to this, a separate try_no_die keyword has been added instead.

AUTHOR

    Arnold Tan Casis <atancasis@cpan.org>

COPYRIGHT

    Copyright 2016- Arnold Tan Casis

LICENSE

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

SEE ALSO

    Try::Tiny

