Peter Flanigan > Unexpected > Unexpected::TraitFor::Throwing

Download:
unexpected/Unexpected-0.36.1.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: v0.36.1   Source  

Name ^

Unexpected::TraitFor::Throwing - Detects and throws exceptions

Synopsis ^

   use Moo;

   with 'Unexpected::TraitFor::Throwing';

Description ^

Detects and throws exceptions

Configuration and Environment ^

Modifies BUILD in the consuming class. Caches the new exception for use by the previous_exception attribute in the next exception thrown

Requires the consuming class to have the class method is_one_of_us

Defines the following list of attributes;

previous_exception

May hold a reference to the previous exception in this thread

Subroutines/Methods ^

BUILD

After construction the current exception is cached so that it can become the previous exception the next time an exception is thrown

caught

   $exception_object_ref = Unexpected->caught( @optional_args );

Catches and returns a thrown exception or generates a new exception if $EVAL_ERROR has been set. Returns either an exception object or undef

throw

   Unexpected->throw 'Path [_1] not found', args => [ 'pathname' ];

Create (or re-throw) an exception. If the passed parameter is a blessed reference it is re-thrown. If a single scalar is passed it is taken to be an error message, a new exception is created with all other parameters taking their default values. If more than one parameter is passed the it is treated as a list and used to instantiate the new exception. The 'error' parameter must be provided in this case

throw_on_error

   Unexpected->throw_on_error( @optional_args );

Calls "caught" passing in the options @args and if there was an exception "throw"s it

Diagnostics ^

None

Dependencies ^

namespace::autoclean
Moo::Role
Unexpected::Types

Incompatibilities ^

There are no known incompatibilities in this module

Bugs and Limitations ^

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Acknowledgements ^

Larry Wall - For the Perl programming language

Author ^

Peter Flanigan, <pjfl@cpan.org>

License and Copyright ^

Copyright (c) 2014 Peter Flanigan. All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

syntax highlighting: