<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package autodie::exception::system;
use 5.008;
use strict;
use warnings;
use parent 'autodie::exception';
use Carp qw(croak);

our $VERSION = '2.34'; # VERSION: Generated by DZP::OurPkg:Version

# ABSTRACT: Exceptions from autodying system().

my $PACKAGE = __PACKAGE__;

=head1 NAME

autodie::exception::system - Exceptions from autodying system().

=head1 SYNOPSIS

    eval {
        use autodie qw(system);

        system($cmd, @args);

    };

    if (my $E = $@) {
        say "Ooops!  ",$E-&gt;caller," had problems: $@";
    }


=head1 DESCRIPTION

This is a L&lt;autodie::exception&gt; class for failures from the
C&lt;system&gt; command.

Presently there is no way to interrogate an C&lt;autodie::exception::system&gt;
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.

=cut

sub _init {
    my ($this, %args) = @_;

    $this-&gt;{$PACKAGE}{message} = $args{message}
        || croak "'message' arg not supplied to autodie::exception::system-&gt;new";

    return $this-&gt;SUPER::_init(%args);

}

=head2 stringify

When stringified, C&lt;autodie::exception::system&gt; objects currently
use the message generated by L&lt;IPC::System::Simple&gt;.

=cut

sub stringify {

    my ($this) = @_;

    return $this-&gt;{$PACKAGE}{message} . $this-&gt;add_file_and_line;

}

1;

__END__

=head1 LICENSE

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.

=head1 AUTHOR

Paul Fenwick E&lt;lt&gt;pjf@perltraining.com.auE&lt;gt&gt;
</pre></body></html>