Browse Source

stop default error handler when event has stopped

useful when using debug_kit and stopping default output and
showing deprecation warnings only at deprecation panel
saeid 4 years ago
parent
commit
0fa8533750
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/Error/ErrorTrap.php

+ 4 - 1
src/Error/ErrorTrap.php

@@ -126,7 +126,10 @@ class ErrorTrap
         try {
             // Log first incase rendering or event listeners fail
             $logger->logMessage($error->getLabel(), $error->getMessage());
-            $this->dispatchEvent('Error.handled', ['error' => $error]);
+            $event = $this->dispatchEvent('Error.handled', ['error' => $error]);
+            if ($event->isStopped()) {
+                return true;
+            }
             $renderer->write($renderer->render($error, $debug));
         } catch (Exception $e) {
             $logger->logMessage('error', 'Could not render error. Got: ' . $e->getMessage());