[!!!][TASK] Streamline error and exception handling
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Error / ErrorHandler.php
index 2ac8f1d..70deb50 100644 (file)
@@ -32,6 +32,13 @@ class ErrorHandler implements ErrorHandlerInterface {
         */
        protected $exceptionalErrors = array();
 
+       /**
+        * Whether to write a flash message in case of an error
+        *
+        * @var bool
+        */
+       protected $debugMode = FALSE;
+
        /**
         * Registers this class as default error handler
         *
@@ -54,6 +61,13 @@ class ErrorHandler implements ErrorHandlerInterface {
                $this->exceptionalErrors = (int)$exceptionalErrors;
        }
 
+       /**
+        * @param bool $debugMode
+        */
+       public function setDebugMode($debugMode) {
+               $this->debugMode = (bool)$debugMode;
+       }
+
        /**
         * Handles an error.
         * If the error is registered as exceptionalError it will by converted into an exception, to be handled
@@ -135,8 +149,7 @@ class ErrorHandler implements ErrorHandlerInterface {
                                // Let the internal handler continue. This will stop the script
                                return FALSE;
                        } else {
-                               // Add error message to the flashmessageQueue
-                               if (defined('TYPO3_ERRORHANDLER_MODE') && TYPO3_ERRORHANDLER_MODE == 'debug') {
+                               if ($this->debugMode) {
                                        /** @var $flashMessage \TYPO3\CMS\Core\Messaging\FlashMessage */
                                        $flashMessage = GeneralUtility::makeInstance(
                                                \TYPO3\CMS\Core\Messaging\FlashMessage::class,