1 package PPI::Exception;
4 use Params::Util qw{_INSTANCE};
15 #####################################################################
16 # Constructor and Accessors
20 return bless { @_ }, $class if @_ > 1;
21 return bless { message => $_[0] }, $class if @_;
22 return bless { message => 'Unknown Exception' }, $class;
30 @{ $_[0]->{callers} || [] };
37 #####################################################################
42 if ( _INSTANCE($it, 'PPI::Exception') ) {
43 if ( $it->{callers} ) {
44 push @{ $it->{callers} }, [ caller(0) ];
46 $it->{callers} ||= [];
49 my $message = $_[0] || 'Unknown Exception';