【发布时间】:2020-01-10 21:13:08
【问题描述】:
我有访问 API 的代码,该 API 返回一系列用于绘制骑行路线的地理点。因此,我首先获取 JSON 对象,然后将其转换为可绘图点。对于与此 API 相关的所有异常,我都有一个 APIGenericException,如果对 API 的请求不成功,我想抛出一个 APiRequestException(这是 APIGenericException 的子类)。我无法弄清楚如何抛出这个,因为 Volley 的 onErrorResponse() 方法不会抛出异常。除此之外,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);}
【问题讨论】:
标签: android exception android-volley