我正在使用Volley向服务器发出同步请求。以下是我如何进行同步请求 -
RequestFuture<JSONObject> future = RequestFuture.newFuture();
JsonObjectRequest request = new JsonObjectRequest("http://my-url.com", future, future);
requestQueue.add(request);
try {
JSONObject response = future.get();
} catch (InterruptedException e) {
} catch (ExecutionException e) {
// Handle exceptions.
}
这可能会失败的原因有多种 - 服务器错误,超时,格式错误的网址异常等等,我想知道是否有办法让我确定失败的具体原因。看起来ExecutionException包装了可能抛出的所有各种异常,但我宁愿没有一堆executionException.getCause() instanceOf FooException
调用来确定失败原因。有没有更清洁的方法来确定失败的原因?