Android Volley - 如何正确处理onResponse方法

时间:2015-07-31 21:59:38

标签: android android-volley

我正在使用一个非常简单的示例,试图理解为什么我的应用程序在成功完成Volley StringRequest后在onResponse方法中进行异常时没有响应就停止了。这是我的例子:

try {
            StringRequest stringRequest = new StringRequest(Request.Method.GET,
                    (urlRequest), new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    //It is ok untill now. 
                    //But if I make an exception here my app stops responding... why??
                    int i = Integer.valueOf("purposely caused error"); 
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    //handle error here is easy...
                }
            });

        } catch (Exception ex) {
            Log.e("VolleyError", ex.getMessage());
        }

在onResponse方法中,我试图捕获异常。如果有异常我的应用程序只是停止响应。如果我尝试做某事,它会以“等待”和“确定”消息结束。我做错了什么?

1 个答案:

答案 0 :(得分:2)

onResponse方法在另一个线程中,尝试将try / catch INSIDE放在onResponse方法中。