From f98e5ac59d4314fa23817e89b599583a60d0e6b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Sat, 23 Apr 2016 10:52:51 +0200 Subject: [PATCH] - Optimized handleException method in RouterBase. --- src/Pecee/SimpleRouter/RouterBase.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Pecee/SimpleRouter/RouterBase.php b/src/Pecee/SimpleRouter/RouterBase.php index 27b39e0..10f782b 100644 --- a/src/Pecee/SimpleRouter/RouterBase.php +++ b/src/Pecee/SimpleRouter/RouterBase.php @@ -2,6 +2,7 @@ namespace Pecee\SimpleRouter; use Pecee\Exception\RouterException; +use Pecee\Handler\IExceptionHandler; use Pecee\Http\Middleware\BaseCsrfVerifier; use Pecee\Http\Request; @@ -181,7 +182,12 @@ class RouterBase { foreach ($this->exceptionHandlers as $route) { $route->loadMiddleware($this->request); $handler = $route->getExceptionHandler(); - $handler = new $handler($this->request); + $handler = new $handler(); + + if (!($handler instanceof IExceptionHandler)) { + throw new RouterException('Exception handler must implement the IExceptionHandler interface.'); + } + $handler->handleError($this->request, $this->request->loadedRoute, $e); }