dwww Home | Manual pages | Find package

Future::Exception(3pm)User Contributed Perl DocumentatioFuture::Exception(3pm)

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@leonerd.org.uk>

perl v5.36.0                      2022-10-30            Future::Exception(3pm)

Generated by dwww version 1.15 on Wed Jun 26 18:10:00 CEST 2024.