Обработка исключений залпа с RequestFutures
Я использую 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.
}
Существуют различные причины, по которым это может не сработать - ошибки сервера, тайм-ауты, неправильные URL-адреса и т. Д., И мне интересно, есть ли способ определить конкретную причину сбоя. Похоже, что ExecutionException оборачивает все возможные исключения, но я бы предпочел не иметь кучу executionException.getCause() instanceOf FooException
звонки для определения причины сбоя. Есть ли более чистый способ определения причины сбоя?