<?php

namespace WP_Ultimo\Dependencies\Amp;

class MultiReasonException extends \Exception
{
    /** @var \Throwable[] */
    private $reasons;
    /**
     * @param \Throwable[] $reasons Array of exceptions rejecting the promise.
     * @param string|null  $message
     */
    public function __construct(array $reasons, string $message = null)
    {
        parent::__construct($message ?: "Multiple errors encountered; use " . self::class . "::getReasons() to retrieve the array of exceptions thrown");
        $this->reasons = $reasons;
    }
    /**
     * @return \Throwable[]
     */
    public function getReasons() : array
    {
        return $this->reasons;
    }
}