NAME
Throwable - a role for classes that can be thrown
VERSION
version 0.200013
SYNOPSIS
package Redirect;
# NOTE: Moo can also be used here instead of Moose
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>
CONTRIBUTORS
Arthur Axel 'fREW' Schmidt <frioux@gmail.com>
Brian Manning <brian@xaoc.org>
Brian Manning <xaoc@cpan.org>
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Dave Rolsky <autarch@urth.org>
David E. Wheeler <david@justatheory.com>
Graham Knop <haarg@haarg.org>
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
Justin Hunter <justin.d.hunter@gmail.com>
Matt S Trout <mst@shadowcat.co.uk>
Olaf Alders <olaf@wundersolutions.com>
Toby Inkster <mail@tobyinkster.co.uk>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 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.