#!/usr/bin/env perl
use Exception::Class
( 'MyException' );
# try
eval {
(my $result = (23/0)) ||
MyException->throw( error => 'I feel funny.' ) };
# my $e;
# catch
if ( my $e = Exception::Class->caught('MyException') )
{
warn $e->error, "\n", $e->trace->as_string, "\n";
warn join ' ', $e->euid,
$e->egid, $e->uid, $e->gid, $e->pid, $e->time;
exit;
}
else
{
$e = Exception::Class->caught();
ref $e ? $e->rethrow : die $e;
}
####
perl "exception-class-test.pl"
Illegal division by zero
####
I feel funny