NAME
Throwable - a role for classes that can be thrown
VERSION
version 0.200011
SYNOPSIS
package Redirect;
use Moose;
with 'Throwable';
has url => (is => 'ro');
...then later...
Redirect->throw({ url => $url });
DESCRIPTION
Throwable is a role for classes that are meant to be thrown as exceptions to standard program flow. It is very simple and does only two things: saves any previous value for $@
and calls die $self
.
Throwable is implemented with Moo, so you can stick to Moo or use Moose as you prefer.
ATTRIBUTES
previous_exception
This attribute is created automatically, and stores the value of $@
when the Throwable object is created. This is done on a best effort basis. $@
is subject to lots of spooky action-at-a-distance. For now, there are clearly ways that the previous exception could be lost.
METHODS
throw
Something::Throwable->throw({ attr => $value });
This method will call new, passing all arguments along to new, and will then use the created object as the only argument to die
.
If called on an object that does Throwable, the object will be rethrown.
AUTHORS
Ricardo SIGNES <rjbs@cpan.org>
Florian Ragwitz <rafl@debian.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.