NAME
Exception::Assertion - Thrown when assertion failed
SYNOPSIS
use Exception::Assertion;
sub assert_foo {
my $self = eval { $_[0]->isa(__PACKAGE__) } ? shift : __PACKAGE__;
my ($condition, $message) = @_;
Exception::Assertion->throw(
message => $message,
reason => 'foo failed',
) unless $condition;
}
assert_foo( 0, 'assert_foo failed' );
DESCRIPTION
This class extends standard Exception::Base and is thrown when assertion is failed. It contains additional attribute reason
which represents detailed message about reason of failed assertion. The exception has also raised verbosity.
INHERITANCE
extends Exception::Base
CONSTANTS
- ATTRS : HashRef
-
Declaration of class attributes as reference to hash.
See Exception::Base for details.
ATTRIBUTES
This class provides new attributes. See Exception::Base for other descriptions.
- reason : Str
-
Contains the additional message filled by assertion method.
- message : Str = "Unknown assertion failed"
-
Contains the message of the exception. This class overrides the default value from Exception::Base class.
- verbosity : Int = 3
-
The default verbosity for assertion exception is raised to 3. This class overrides the default value from Exception::Base class.
- string_attributes : ArrayRef[Str] = ["message", "reason"]
-
Meta-attribute contains the format of string representation of exception object. This class overrides the default value from Exception::Base class.
SEE ALSO
Exception::Base, Test::Assertion.
AUTHOR
Piotr Roszatycki <dexter@cpan.org>
COPYRIGHT
Copyright (C) 2008, 2009 by Piotr Roszatycki <dexter@cpan.org>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.