mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-07-11 21:32:11 +00:00
PHP8: better exception handling
Looks like PHP8 handles exceptions differently with Throwables used in cases where php-error occoured. To fix this Throwable are now used to catch exception in routeRequest and any instance of Throwable will be converted to Exception.
This commit is contained in:
@@ -443,10 +443,14 @@ class Router
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
} catch (\Throwable $e) {
|
||||
if ($e instanceof Exception) {
|
||||
return $this->handleException($e);
|
||||
}
|
||||
|
||||
return $this->handleException(new Exception($e->getMessage(), $e->getCode()));
|
||||
}
|
||||
|
||||
if ($methodNotAllowed === true) {
|
||||
$message = sprintf('Route "%s" or method "%s" not allowed.', $this->request->getUrl()->getPath(), $this->request->getMethod());
|
||||
return $this->handleException(new NotFoundHttpException($message, 403));
|
||||
|
||||
Reference in New Issue
Block a user