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
varname
to 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.