| Future::Exception(3pm) - phpMan
Future::Exception(3) User Contributed Perl Documentation Future::Exception(3)
NAME
"Future::Exception" - an exception type for failed Futures
SYNOPSIS
use Scalar::Util qw( blessed );
use Syntax::Keyword::Try;
try {
my $f = ...;
my @result = $f->result;
...
}
catch {
if( blessed($@) and $@->isa( "Future::Exception" ) {
print STDERR "The ", $@->category, " failed: ", $@->message, "\n";
}
}
DESCRIPTION
The "get" method on a failed Future instance will throw an exception to indicate that the
future failed. A failed future can contain a failure category name and other details as
well as the failure message, so in this case the exception will be an instance of
"Future::Exception" to make these values accessible.
Users should not depend on exact class name matches, but instead rely on inheritence, as a
later version of this implementation might dynamically create subclasses whose names are
derived from the Future failure category string, to assist with type matching. Note the
use of "->isa" in the SYNOPSIS example.
CONSTRUCTOR
from_future
$e = Future::Exception->from_future( $f )
Constructs a new "Future::Exception" wrapping the given failed future.
ACCESSORS
$message = $e->message
$category = $e->category
@details = $e->details
Additionally, the object will stringify to return the message value, for the common use-
case of printing, regexp testing, or other behaviours.
METHODS
throw
Future::Exception->throw( $message, $category, @details )
Since version 0.41.
Constructs a new exception object and throws it using "die()". This method will not
return, as it raises the exception directly.
If $message does not end in a linefeed then the calling file and line number are appended
to it, in the same way "die()" does.
as_future
$f = $e->as_future
Returns a new "Future" object in a failed state matching the exception.
AUTHOR
Paul Evans <leonerd AT leonerd.uk>
perl v5.20.2 2024-03-08 Future::Exception(3)
|