NAME
Exception::Simple - simple exception class
SYNOPSIS
use Exception::Simple;
use Try::Tiny; #or just use eval {}, it's all good
try{
Exception::Simple->throw( 'oh noes!' );
} catch {
warn $_;
warn $_->error;
};
my $data = {
'foo' => 'bar',
'fibble' => [qw/wibble bibble/],
};
try{
Exception::Simple->throw(
'error' => 'oh noes!',
'data' => $data,
);
} catch {
warn $_;
warn $_->error;
warn $_->data->{'foo'};
};
DESCRIPTION
pretty simple exception class. auto creates argument accessors.
simple, lightweight and extensible are this modules goals.
METHODS
throw
#with just one argument $@->error is set
Exception::Simple->throw( 'error message' );
# $@ stringifies to $@->error
#or set multiple arguments (creates accessors)
Exception::Simple->throw(
error => 'error message',
data => 'cutom atrribute',
);
# warn $@->data or something
rethrow
say you catch an error, but then you want to uncatch it
use Try::Tiny;
try{
Exception:Simple->throw( 'foobar' );
} catch {
if ( $_ eq 'foobar' ){
#not our error, rethrow
$_->rethrow;
}
};
error
accessor for error, if its been set
SUPPORT
Bugs should always be submitted via the CPAN bug tracker
For other issues, contact the maintainer
AUTHORS
n0body <n0body@thisaintnews.com>
SEE ALSO
http://thisaintnews.com, Try::Tiny
LICENSE
Copyright (C) 2011 by n0body http://thisaintnews.com/
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.