NAME
Try::Lite - easy exception catcher with auto rethrow
SYNOPSIS
use Try::Lite;
try {
YourExceptionClass->throw;
}
'YourExceptionClass' => sub {
say ref($@); # show 'YourExceptionClass'
};
you can catch base exception class:
package YourExceptionClass {
use parent 'BaseExceptionClass';
}
try {
YourExceptionClass->throw;
}
'BaseExceptionClass' => sub {
say ref($@); # show 'YourExceptionClass'
};
you can catch any exception:
try {
die "oops\n";
}
'*' => sub {
say $@; # show "oops\n";
};
auto rethrow:
eval {
try {
die "oops\n";
}
'YourExceptionClass' => sub {};
};
say $@; # show "oops\n"
you can any exception catch:
sub run (&) {
my $code = shift;
try { $code->() }
'FileException' => sub { say 'file exception' },
'NetworkException' => sub { say 'network exception' };
}
run { FileException->throw }; # show 'file exception'
run { NetworkException->throw }; # show 'network exception'
run { die 'oops' }; # Died
DESCRIPTION
Try::Lite is easy exception catch with Exception classes. Exception
other than the all specified conditions are It run rethrow.
THIS IS A DEVELOPMENT RELEASE. API MAY CHANGE WITHOUT NOTICE.
EXPORT
try $code_ref, %catche_rules
AUTHOR
Kazuhiro Osawa <yappo {@} shibuya {dot} pl>
SEE ALSO
try function base is Try::Tiny
LICENSE
Copyright (C) Kazuhiro Osawa
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.