You are here

RejectionException.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/guzzlehttp/promises/src/RejectionException.php

Namespace

GuzzleHttp\Promise

File

vendor/guzzlehttp/promises/src/RejectionException.php
View source
<?php

namespace GuzzleHttp\Promise;


/**
 * A special exception that is thrown when waiting on a rejected promise.
 *
 * The reason value is available via the getReason() method.
 */
class RejectionException extends \RuntimeException {

  /** @var mixed Rejection reason. */
  private $reason;

  /**
   * @param mixed $reason       Rejection reason.
   * @param string $description Optional description
   */
  public function __construct($reason, $description = null) {
    $this->reason = $reason;
    $message = 'The promise was rejected';
    if ($description) {
      $message .= ' with reason: ' . $description;
    }
    elseif (is_string($reason) || is_object($reason) && method_exists($reason, '__toString')) {
      $message .= ' with reason: ' . $this->reason;
    }
    elseif ($reason instanceof \JsonSerializable) {
      $message .= ' with reason: ' . json_encode($this->reason, JSON_PRETTY_PRINT);
    }
    parent::__construct($message);
  }

  /**
   * Returns the rejection reason.
   *
   * @return mixed
   */
  public function getReason() {
    return $this->reason;
  }

}

Classes

Namesort descending Description
RejectionException A special exception that is thrown when waiting on a rejected promise.