如何定制json截取错误消息

km0tfn4u  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(200)

如何在json-volley中自定义空错误我有一个应用程序使用api,我正在使用volley解析json-api,但有时结果是空的。如何剪切错误响应,即当我使用jsonerror.getmessage时,我得到空的,但当我尝试自定义结果,如果错误是空的应用程序崩溃。我使用的代码

url = myapiurl;
        @SuppressLint("SetTextI18n") JsonObjectRequest jsonArrayRequest = new JsonObjectRequest(Request.Method.GET, url,
                null,
                response -> {
                    try{
                        JSONObject jsonObject = response.getJSONObject("data");
                        JSONObject jsonObject1 = jsonObject.getJSONObject("num");
                        String en = jsonObject1.optString("en");
                        String fr = jsonObject1.optString("fr");

                        String srtLink = srtT+srt_en;
                        progressDialog.dismiss();

                    }catch (JSONException e){
                        Toast.makeText(getApplicationContext(), "Exception :: "+e.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                },
                e -> {
                    Toast.makeText(getApplicationContext(), "Error :: "+e.getMessage(), Toast.LENGTH_SHORT).show();
                    if(e.getMessage().matches("null")){
                        Toast.makeText(this, "value is not Available", Toast.LENGTH_SHORT).show();
                    }
                }
        );
        requestQueue.add(jsonArrayRequest);

当我单独使用这行的应用程序运行良好,我得到的错误消息为空

Toast.makeText(getApplicationContext(), "Error :: "+e.getMessage(), Toast.LENGTH_SHORT).show();

但是当我把它改成这样,如果错误消息为null,那么显示一个定制的toast,应用程序就会崩溃

Toast.makeText(getApplicationContext(), "Error :: "+e.getMessage(), Toast.LENGTH_SHORT).show();
                    if(e.getMessage().matches("null")){
                        Toast.makeText(this, "value is not Available", Toast.LENGTH_SHORT).show();
                    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题