Given a route (which contains the handler for given middleware),
the $err value passed to $next, $next, and the request and response
objects, dispatch a middleware handler.
If $err is non-falsy, and the current handler has an arity of 4,
it will be dispatched.
If $err is falsy, and the current handler has an arity of < 4,
it will be dispatched.
In all other cases, the handler will be ignored, and $next will be
invoked with the current $err value.
If an exception is raised when executing the handler, the exception
will be assigned as the value of $err, and $next will be invoked
with it.