/** * @param \Exception $exception * * @return array */ protected function buildError(\Exception $exception) { $result = ['code' => $exception->getCode(), 'message' => $exception->getMessage(), 'previous' => null, 'data' => null]; if ($exception->getPrevious() !== null) { $result['previous'] = $this->buildError($exception->getPrevious()); } if ($exception instanceof ExceptionInterface) { $result['data'] = $exception->getMetaData(); } return $result; }