/** * Gets sequential array of all previously-chained errors * * @param Throwable $error * * @return Throwable[] */ function getChain(Throwable $error) : array { $chain = []; do { $chain[] = $error; } while ($error = $error->getPrevious()); return $chain; }