my $obj = Some::Object->new() or die "Couldn't create Some::object - $!\n"; #### package Some::Object; use base 'Ekahau::ErrHandler'; sub new { my $class = shift; my(%p) = @_; my $self = {}; bless $self,$class; $self->{_errhandler} = Ekahau::ErrHandler->errhandler_new($class,%p); return $self->reterr("An error happened") if ($error_happened); $self->errhandler_constructed(); } sub ERROBJ { my $self = shift; $self->{_errhandler}; } #### my $obj = Some::Object->new() or die "Couldn't create Some::Object - ".Some::Object->lasterr; $obj->method_call() or die "Couldn't method_call $obj - ".$obj->lasterr; #### my $err; my $obj = Some::Object->new(ErrorHolder => \$err) or die "Couldn't create Some::Object - $err\n"; $obj->method_call or die "Couldn't method_call $obj - $err\n"; #### Ekahau::ErrHandler->set_errhandler(sub { die @_ } );