| autodie documentation | Contained in the autodie distribution. |
autodie::exception::system - Exceptions from autodying system().
eval {
use autodie qw(system);
system($cmd, @args);
};
if (my $E = $@) {
say "Ooops! ",$E->caller," had problems: $@";
}
This is a autodie::exception class for failures from the
system command.
Presently there is no way to interrogate an autodie::exception::system
object for the command, exit status, and other information you'd expect
such an object to hold. The interface will be expanded to accommodate
this in the future.
When stringified, autodie::exception::system objects currently
use the message generated by IPC::System::Simple.
Copyright (C)2008 Paul Fenwick
This is free software. You may modify and/or redistribute this code under the same terms as Perl 5.10 itself, or, at your option, any later version of Perl 5.
Paul Fenwick <pjf@perltraining.com.au>
| autodie documentation | Contained in the autodie distribution. |
package autodie::exception::system; use 5.008; use strict; use warnings; use base 'autodie::exception'; use Carp qw(croak); our $VERSION = '2.10'; my $PACKAGE = __PACKAGE__;
sub _init { my ($this, %args) = @_; $this->{$PACKAGE}{message} = $args{message} || croak "'message' arg not supplied to autodie::exception::system->new"; return $this->SUPER::_init(%args); }
sub stringify { my ($this) = @_; return $this->{$PACKAGE}{message} . $this->add_file_and_line; } 1; __END__