Обработка исключений залпа с 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 звонки для определения причины сбоя. Есть ли более чистый способ определения причины сбоя?

0 ответов

Другие вопросы по тегам