---
name: "Error::TypeTiny::Assertion"
section: "3pm"
platform: "linux"
package: "perl-type-tiny"
version: "2.010001-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Error::TypeTiny::Assertion"
---

# Error::TypeTiny::Assertion(3pm)

exception when a value fails a type constraint

## NAME

Error::TypeTiny::Assertion - exception when a value fails a type constraint

## 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\>.

## SEE ALSO

Error::TypeTiny.

## AUTHOR

Toby Inkster \<tobyink@cpan.org\>.

## COPYRIGHT AND LICENCE

This software is copyright (c) 2013-2014, 2017-2025 by Toby Inkster.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

## DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
