the router needs to catch exceptions thrown by handlers and give the caller a way to dispatch the exception to exception handlers installed into the router like this:
router.except(
[]( std::exception const& )
{
//...
});
router.except(
[]( boost::json::exception const& )
{
//...
});