У меня есть код, который обращается к API, который возвращает серию географических точек для построения велосипедного маршрута. Таким образом, я сначала выбираю объект JSON, а затем транслирую его в графические точки. У меня есть APIGenericException для всех исключений, связанных с этим API, и я хочу выдать APiRequestException (который является подклассом APIGenericException), если запрос к API не выполнен. Я не могу понять, как бросить это, поскольку метод onErrorResponse () от Volley не вызывает исключение. В дополнение к этому convertResponseToWayPoints также генерирует исключение, но я не уверен, как передать это в onResponse и в метод requestRouteFromAPI.
public void requestRouteFromAPI(Context mainActivityContext, final String url) throws APIGenericException {
RequestQueue queue = Volley.newRequestQueue(mainActivityContext);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
convertResponseToWayPoints(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error){
// TODO: Handle error
Log.e("ERROR", "Error occurred ", error);
throw new APiRequestException(url);
}
}); queue.add(jsonObjectRequest);}