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.
Bugs
Please report any bugs to https://github.com/tobyink/p5-type-tiny/issues.