NAME
Ambrosia::error::Exception - an unspecified exception. Ambrosia::error::Exception::BadUsage - this exception will occur if you use something incorrect. Ambrosia::error::Exception::BadParams - this exception will occur if you use incorrect parameters. Ambrosia::error::Exception::AccessDenied - this exception will occur if you try run closed method.
SYNOPSIS
use Ambrosia::error::Exceptions;
sub test
{
unless ( @_ )
{
throw Ambrosia::error::Exception::BadParams("Must call test with arguments.");
}
}
eval
{
test();
};
if ( $@ )
{
if ( ref $@ && $@->isa('Ambrosia::error::Exception::Error') )
{
print "ERROR: " . $@->message . "\n";
print "STACK:\n" . $@->stack . "\n";
print "CODE: " . $@->code . "\n";
#printed:
#ERROR: Must call test with arguments.
#ERROR: Must call test with arguments.
#STACK:
# Ambrosia::error::Exception::BadParams::throw( Ambrosia::error::Exception::BadParams, Must call test with arguments. ) at main line ...
# main::test( ) at main line ...
# (eval) at main line ...
#CODE: E0002
#ERROR: Must call test with arguments.
#STACK:
# Ambrosia::error::Exception::BadParams::throw( Ambrosia::error::Exception::BadParams, Must call test with arguments. ) at main line ...
# main::test( ) at main line ...
# (eval) at main line ...
}
#or you can do so:
print "ERROR: $@";
#printed:
#ERROR: Must call test with arguments.
# Ambrosia::error::Exception::BadParams::throw( Ambrosia::error::Exception::BadParams, Must call test with arguments. ) at main line ...
# main::test( ) at main line ...
# (eval) at main line ...
}
DESCRIPTION
List of different types of exceptions. Ambrosia::error::Exception - an unspecified exception. Ambrosia::error::Exception::BadUsage - this exception will occur if you use something incorrect. Ambrosia::error::Exception::BadParams - this exception will occur if you use incorrect parameters. Ambrosia::error::Exception::AccessDenied - this exception will occur if you try run closed method.
Ambrosia::error::Exception
System exception of undefined type.
Ambrosia::error::Exception::BadUsage
Incorrect use of the method of the class.
Ambrosia::error::Exception::BadParams
Bad parameters.
Ambrosia::error::Exception::AccessDenied
Trying to use a private field or method.
THREADS
Not tested.
BUGS
Please report bugs relevant to Ambrosia
to <knm[at]cpan.org>.
COPYRIGHT AND LICENSE
Copyright (C) 2010-2012 Nickolay Kuritsyn. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Nikolay Kuritsyn (knm[at]cpan.org)