public static <I extends Request, O extends Response, U extends Client<I, O>>
    O executeWithFallback(U delegate, ClientRequestContext ctx,
                          BiFunction<ClientRequestContext, Throwable, O> errorResponseFactory, I req,
                          boolean tryCompleteLog) {

        requireNonNull(delegate, "delegate");
        requireNonNull(ctx, "ctx");
        requireNonNull(errorResponseFactory, "errorResponseFactory");

        O response;
        try {
            response = pushAndExecute(delegate, ctx, req);
        } catch (Throwable cause) {
            fail(ctx, cause);
            response = errorResponseFactory.apply(ctx, cause);
        }

        if (tryCompleteLog) {
            completeLogIfIncomplete(ctx, response);
        }
        return response;
    }
An undefined {@link URI} to create {@link WebClient} without specifying {@link URI}.
core/src/main/java/com/linecorp/armeria/internal/client/ClientUtil.java