Slide 30
Slide 30 text
@MICHAELCULLUMUK
EXCEPTION CONTROLLER OVERRIDE
public function getError(FlattenException $exception)
{
$error = [];
$mapping = $this->errorMap[$exception->getClass()];
$error['code'] = $mapping[‘code'] ?? 'UNKNOWN_ERROR',
$error['message'] = $mapping[‘message'] ?? 'Unknown error';
if ($exception->getClass() === ValidationException::class) {
$error['errors'] = $exception->getErrors();
}
if ($this->twig->isDebug()) {
$error['debug'] = sprintf(
'%s in file %s amd line %d',
$exception->getMessage(),
$exception->getFile(),
$exception->getLine()
);
}
return $error;
}
private $errorMap = [
AccessDeniedException::class => [
'code' => 'ACCESS_DENIED',
'message' => 'Access Denied',
],
ValidationException::class => [
'code' => 'VALIDATION_FAIL',
'message' => 'Validation failed',
],
];