ResponseHandler<RedditRequestResponse> rh = new ResponseHandler<RedditRequestResponse>() {
            @Override
            public RedditRequestResponse handleResponse(
                    final HttpResponse response) throws IOException, RedditException {
                int statusCode = response.getStatusLine().getStatusCode();
                HttpEntity entity = response.getEntity();

                if (entity == null) {
                    throw new ClientProtocolException("Response contains no content");
                }
                String responseBody = EntityUtils.toString(entity);
                if (statusCode != HttpStatus.SC_OK) {
                    throw new RedditException(generateErrorString(statusCode, input, responseBody));
                }

                return new RedditRequestResponse(statusCode, responseBody);
            }
        };


我想从包含响应正文的RedditException中抛出自己的handleResponse()。但是,当我尝试执行此操作时(如上述代码),出现了RedditException not compatible with throws clause错误。我怀疑这与@Override有关。到底是什么被覆盖?包含此方法的类不会从任何其他类继承,并且不会实现我可以告诉的任何接口。

最佳答案

如果您将RedditException扩展为IOException,则可以通过保留相同的方法签名来解决它

09-10 06:49
查看更多