Scroll to navigation

Try::Tiny::ByClass(3pm) User Contributed Perl Documentation Try::Tiny::ByClass(3pm)

NAME

Try::Tiny::ByClass - selectively catch exceptions by class name

SYNOPSIS

  use Try::Tiny::ByClass;
  
  try {
        die $exception_object;
  } catch_case [
    'Some::Class' => sub {
      # handle Some::Class exceptions
    },
    'Exception::DivByZero' => sub {
      # handle Exception::DivByZero exceptions
    },
  ], finally {
    # always do this
  };

DESCRIPTION

This module is a simple wrapper around "Try::Tiny", which see. It re-exports "try", "catch", and "finally".

In addition, it provides a way to catch only some exceptions by filtering on the class (including superclasses and consumed roles) of an exception object.

Functions

Intended to be used instead of "catch" in the second argument position of "try".

Instead of a block it takes a reference to an array of "CLASS => CODEREF" pairs, which it passes on to "dispatch" in "Dispatch::Class".

SEE ALSO

Try::Tiny, Dispatch::Class

AUTHOR

Lukas Mai, "<l.mai at web.de>"

COPYRIGHT & LICENSE

Copyright 2013 Lukas Mai.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

2021-01-05 perl v5.32.0