Status
This module is covered by the Type-Tiny stability policy .
Description
This exception is thrown when a value fails a type constraint assertion.
This package inherits from Error::TypeTiny ; see that for most documentation. Major differences are listed below:
Attributes
-
type -
The type constraint that was checked against. Weakened links are involved, so this may end up being
undef. -
value -
The value that was tested.
-
varname -
The name of the variable that was checked, if known. Defaults to
'$_'. -
attribute_name -
If this exception was thrown as the result of an isa check or a failed coercion for a Moo attribute, then this will tell you which attribute (if your Moo is new enough).
(Hopefully one day this will support other OO frameworks.)
-
attribute_step -
If this exception was thrown as the result of an isa check or a failed coercion for a Moo attribute, then this will contain either
"isa check"or"coercion"to indicate which went wrong (if your Moo is new enough).(Hopefully one day this will support other OO frameworks.)
Methods
-
has_type,has_attribute_name,has_attribute_step -
Predicate methods.
-
message -
Overridden to add
varnameto the message if defined. -
explain -
Attempts to explain why the value did not pass the type constraint. Returns an arrayref of strings providing step-by-step reasoning; or returns undef if no explanation is possible.