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
,则可以通过保留相同的方法签名来解决它