diff --git a/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php b/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php index 4492ef1f6fab139377710d631722937f54658b51..4559d5eb920a98c5152c2c558d5652224318acd1 100644 --- a/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php +++ b/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php @@ -642,11 +642,16 @@ class ContentObjectRenderer implements LoggerAwareInterface // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception; - } catch (\Exception $exception) { + } catch (\Throwable $exception) { $exceptionHandler = $this->createExceptionHandler($configuration); if ($exceptionHandler === null) { throw $exception; } + // Ensure that the exception handler receives an \Exception instance, + // which is required by the \ExceptionHandlerInterface. + if (!$exception instanceof \Exception) { + $exception = new \Exception($exception->getMessage(), 1698347363, $exception); + } $content = $exceptionHandler->handle($exception, $contentObject, $configuration); }