From 3ba521e5d60a05510aa97d826215b7660d3dcb59 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Tue, 28 Apr 2020 20:42:25 +0200 Subject: chore: add whoops for a better dev environment --- index.php | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 154d947..f4e3321 100644 --- a/index.php +++ b/index.php @@ -1,14 +1,12 @@ getMessage()); } @@ -16,6 +14,14 @@ try { $app = new Wcms\Application(); $app->wakeup(); +if (class_exists('Whoops\Run') && !empty(Wcms\Config::debug())) { + $whoops = new \Whoops\Run(); + $handler = new \Whoops\Handler\PrettyPageHandler(); + $handler->setEditor(\Wcms\Config::debug()); + $whoops->pushHandler($handler); + $whoops->register(); +} + if (isreportingerrors()) { Sentry\init([ 'dsn' => Wcms\Config::sentrydsn(), @@ -33,11 +39,14 @@ if (isreportingerrors()) { try { $matchoper = new Wcms\Routes(); $matchoper->match(); -} catch (Exception $e) { +} catch (Throwable $e) { if (isreportingerrors()) { Sentry\captureException($e); } - Logger::errorex($e, true); + Wcms\Logger::errorex($e, true); http_response_code(500); - echo '

⚠ Woops ! There is a little problem :

', $e->getMessage(), "\n"; + if (isset($whoops)) { + $whoops->handleException($e); + } + echo '

⚠ Whoops ! There is a little problem :

', $e->getMessage(), "\n"; } -- cgit v1.2.3 From 1619c194a32c1496f9015a491f5fa9dff350d47e Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Tue, 28 Apr 2020 21:25:51 +0200 Subject: fix: never catch LogicExceptions except in index --- index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'index.php') diff --git a/index.php b/index.php index f4e3321..49974f7 100644 --- a/index.php +++ b/index.php @@ -7,7 +7,7 @@ require('./vendor/autoload.php'); try { Wcms\Logger::init('w_error.log', 2); -} catch (Throwable $e) { +} catch (RuntimeException $e) { die('Unable to init logs: ' . $e->getMessage()); } -- cgit v1.2.3