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 contextandstack_traceif appropriate.
- 
						
							throw_cb($callback, %attributes)
- 
						Constructs an exception and passes it to $callbackwhich should be a coderef; if undef, usesdie.Automatically populates contextandstack_traceif 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 $StackTracepackage 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 throwmethod. Takes ansprintf-style format string and optional arguments to construct themessage.
Overloading
- 
						Stringification is overloaded to call
						to_string.
Package Variables
- 
						
							%Carp::CarpInternal
- 
						Error::TypeTiny honours this package variable from Carp . ( %Error::TypeTiny::CarpInternalis 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.)
				
See Also
Error::TypeTiny::Assertion , Error::TypeTiny::WrongNumberOfParameters .