Error::TypeTiny - exceptions for Type::Tiny and friends |
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.
new(%attributes)
throw(%attributes)
die
.
Automatically populates context
and stack_trace
if appropriate.
message
context
stack_trace
$StackTrace
package variable to switch it on.
to_string
Error::TypeTiny::croak($format, @args)
throw
method. Takes an sprintf
-style
format string and optional arguments to construct the message
.
to_string
.
%Error::TypeTiny::CarpInternal
%Carp::CarpInternal
.
$Error::TypeTiny::StackTrace
$Error::TypeTiny::LastError
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 http://rt.cpan.org/Dist/Display.html.
the Error::TypeTiny::Assertion manpage, the Error::TypeTiny::WrongNumberOfParameters manpage.
the Try::Tiny manpage, the Try::Tiny::ByClass manpage.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2013-2014 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.
Error::TypeTiny - exceptions for Type::Tiny and friends |