---
name: "Error::TypeTiny"
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"
---

# Error::TypeTiny(3pm)

exceptions for Type::Tiny and friends

## NAME

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

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

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

## DESCRIPTION

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

### Constructors

- new(%attributes)

  Moose-style constructor function.

- throw(%attributes)

  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

- "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

- "to\_string"

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

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

- •

  Stringification is overloaded to call `"to_string"`.

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

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

Please report any bugs to \<https://github.com/tobyink/p5-type-tiny/issues\>.

## SEE ALSO

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

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

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