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

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

use Data::Dumper;
use Try::Tiny;
use Types::Standard qw(Str);

try {
   Str->assert_valid(undef);
}
catch {
   my $exception = shift;
   warn "Encountered Error: $exception";
   warn Dumper($exception->explain)
      if $exception->isa("Error::TypeTiny::Assertion");
};

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

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

Moose-style constructor function.
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.

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

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

"Error::TypeTiny::croak($format, @args)"
Functional-style shortcut to "throw" method. Takes an "sprintf"-style format string and optional arguments to construct the "message".

Stringification is overloaded to call "to_string".

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

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

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

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

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

Toby Inkster <tobyink@cpan.org>.

This software is copyright (c) 2013-2014, 2017-2023 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.

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.

2024-03-13 perl v5.38.2