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)