Error::TypeTiny(3) User Contributed Perl Documentation Error::TypeTiny(3)

# [NAME](#NAME)

Error::TypeTiny - exceptions for Type::Tiny and friends

# [SYNOPSIS](#SYNOPSIS)

```
   use feature 'try';
   use Data::Dumper;
   use Types::Standard qw( Str );
   
   try {
      Str->assert_valid( undef );
   }
   catch ( $exception ) {
      warn "Encountered Error: $exception";
      warn Dumper( $exception->explain )
         if $exception->isa( "Error::TypeTiny::Assertion" );
   }
```

# [STATUS](#STATUS)

This module is covered by the Type-Tiny stability policy.

# [DESCRIPTION](#DESCRIPTION)

When Type::Tiny and its related modules encounter an error, they throw an exception object. These exception objects inherit from Error::TypeTiny.

## [Constructors](#Constructors)

[new(%attributes)](#new%28_attributes%29)

Moose-style constructor function.

[throw(%attributes)](#throw%28_attributes%29)

Constructs an exception and passes it to "die".

Automatically populates "context" and "stack\_trace" if appropriate.

"throw\_cb($callback, %attributes)"

Constructs an exception and passes it to $callback which should be a coderef; if undef, uses "die".

Automatically populates "context" and "stack\_trace" if appropriate.

## [Attributes](#Attributes)

"message"

The error message.

"context"

Hashref containing the package, file and line that generated the error.

"stack\_trace"

A more complete stack trace. This feature requires Devel::StackTrace; use the $StackTrace package variable to switch it on.

## [Methods](#Methods)

"to\_string"

Returns the message, followed by the context if it is set.

## [Functions](#Functions)

"Error::TypeTiny::croak($format, @args)"

Functional-style shortcut to "throw" method. Takes an "sprintf"-style format string and optional arguments to construct the "message".

## [Overloading](#Overloading)

•

Stringification is overloaded to call "to\_string".

## [Package Variables](#Package_Variables)

%Carp::CarpInternal

Error::TypeTiny honours this package variable from Carp. ( %Error::TypeTiny::CarpInternal is an alias for it.)

$Error::TypeTiny::StackTrace

Boolean to toggle stack trace generation.

$Error::TypeTiny::LastError

A reference to the last exception object thrown.

# [CAVEATS](#CAVEATS)

Although Error::TypeTiny objects are thrown for errors produced by Type::Tiny, that doesn't mean every time you use Type::Tiny you'll get Error::TypeTinys whenever you want.

For example, if you use a Type::Tiny type constraint in a Moose attribute, Moose will not call the constraint's "assert\_valid" method (which throws an exception). Instead it will call "check" and "get\_message" (which do not), and will "confess" an error message of its own. (The $LastError package variable may save your bacon.)

# [BUGS](#BUGS)

Please report any bugs to &lt;https://github.com/tobyink/p5-type-tiny/issues&gt;.

# [SEE ALSO](#SEE_ALSO)

Error::TypeTiny::Assertion, Error::TypeTiny::WrongNumberOfParameters.

Try::Tiny, Try::Tiny::ByClass.

# [AUTHOR](#AUTHOR)

Toby Inkster &lt;tobyink@cpan.org&gt;.

# [COPYRIGHT AND LICENCE](#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](#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.

2026-10-25 perl v5.44.0

---

Document: Error::TypeTiny(3pm) from perl-type-tiny 2.010001-r4 (Chainguard OS)
Source: https://github.com/tobyink/p5-type-tiny
