api - custom error handling without try/except in php Slim framework

one text

Solution:

In Slim 4 you can add a custom error handler to the ErrorMiddleware. You can also add your own Middleware before the ErrorMiddleware to catch and map your own exceptions:

Example

<?php
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Slim\Exception\HttpNotFoundException;
use Slim\Middleware\ErrorMiddleware;
use Slim\Psr7\Response;
// ...

// HttpNotFound Middleware
$app->add(function (
    ServerRequestInterface $request, 
    RequestHandlerInterface $handler
    ) {
    try {
        return $handler->handle($request);
    } catch (HttpNotFoundException $httpException) {
        $response = (new Response())->withStatus(404);
        $response->getBody()->write('404 Not found');

        return $response;
    }
});

$app->add(ErrorMiddleware::class);

Source

Source