Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.
   1  <?php
   2  
   3  namespace GuzzleHttp\Promise;
   4  
   5  /**
   6   * A special exception that is thrown when waiting on a rejected promise.
   7   *
   8   * The reason value is available via the getReason() method.
   9   */
  10  class RejectionException extends \RuntimeException
  11  {
  12      /** @var mixed Rejection reason. */
  13      private $reason;
  14  
  15      /**
  16       * @param mixed  $reason      Rejection reason.
  17       * @param string $description Optional description
  18       */
  19      public function __construct($reason, $description = null)
  20      {
  21          $this->reason = $reason;
  22  
  23          $message = 'The promise was rejected';
  24  
  25          if ($description) {
  26              $message .= ' with reason: ' . $description;
  27          } elseif (is_string($reason)
  28              || (is_object($reason) && method_exists($reason, '__toString'))
  29          ) {
  30              $message .= ' with reason: ' . $this->reason;
  31          } elseif ($reason instanceof \JsonSerializable) {
  32              $message .= ' with reason: '
  33                  . json_encode($this->reason, JSON_PRETTY_PRINT);
  34          }
  35  
  36          parent::__construct($message);
  37      }
  38  
  39      /**
  40       * Returns the rejection reason.
  41       *
  42       * @return mixed
  43       */
  44      public function getReason()
  45      {
  46          return $this->reason;
  47      }
  48  }