NAME Exception::System - The exception class for system or library calls SYNOPSIS # The simplest usage use Exception::Base 'Exception::System'; open my $file, "/notfound" or Exception::System->throw(message=>"Can not open file"); # The Exception::System class can be a base class for others # # Loaded automatically if used as Exception::Base's argument use Exception::Base, 'Exception::System', 'Exception::File' => { isa => 'Exception::System', has => 'filename', string_attributes => [ 'message', 'errstr', 'filename' ], }; eval { my $filename = "/notfound"; open my $fh, $filename or Exception::File->throw( message=>"Can not open file", filename=>$filename, ); }; if ($@) { my $e = Exception::Base->catch; if ($e->isa('Exception::File')) { warn "File error:".$e->errstr; } if ($e->matches({errname=>'ENOENT'})) { warn "Caught not found error"; } } DESCRIPTION This class extends standard Exception::Base with handling system or library errors. The additional attributes of the exception object are filled on throw and contain the error message and error codes. AUTHOR Piotr Roszatycki <dexter@debian.org> LICENSE Copyright (C) 2007, 2008 by Piotr Roszatycki <dexter@debian.org>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html