我正在使用一个非常简单的示例,试图理解为什么我的应用程序在成功完成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方法中,我试图捕获异常。如果有异常我的应用程序只是停止响应。如果我尝试做某事,它会以“等待”和“确定”消息结束。我做错了什么?
答案 0 :(得分:2)
onResponse
方法在另一个线程中,尝试将try / catch INSIDE放在onResponse
方法中。