java - 调试安卓java

标签 java android debugging

所以我并不是真的有问题,但我确实有一个关于如何正确调试的问题。例如,在我的例子中,我在 Global 类中有方法。

当我从另一个类运行它时,我必须用 try/catch 包围它。 但是,当我的代码中出现问题时,它只会向我显示“throw”。所有其他 Log.*/System.out.println() 都不会显示。

public <T> T run(Class<T> a, String url, File file, String jsonObject, String contentType) throws Exception {

    if(file.exists()){
         requestBody = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("jsonObject", jsonObject)
                .addFormDataPart("image", file.getName(), RequestBody.create(MediaType.parse(contentType), file))
                .build();
    } else{
        requestBody = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("jsonObject", jsonObject)
                .build();
    }


    Request request = new Request.Builder()
            .url(API_SERVER + url)
            .post(requestBody)
            .build();

    System.out.println
    Response response = client.newCall(request).execute();
    if (response.isSuccessful()) throw new IllegalArgumentException("!response.isSuccessful():" + response.body().string());

    String jsonResponse = response.body().string();
    response.body().close();

    Gson gson = new Gson();
    return gson.fromJson(jsonResponse, a);
}

在我的案例中看到任何东西的唯一方法是更改​​ if 语句。

if (!response.isSuccessful()) throw new IllegalArgumentException("!response.isSuccessful():" + response.body().string());

你们能建议我改变什么,这样我就可以更轻松地调试而不是替换我的 if,等待重建、部署和测试...

最佳答案

您定义的类抛出一个异常,这意味着如果此方法中有任何异常,它将从调用该方法的堆栈中抛回.

您需要在 trycatch block 中处理抛出的异常,您将在 catch block 中接收抛出的异常测试异常的细节,并据此对要运行的代码采取下一步。

我认为 Log.e 会在您的调试控制台中打印异常。

http://developer.android.com/reference/android/util/Log.html

关于java - 调试安卓java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124926/

相关文章:

windows - 拆卸卸载的模块

java - PXE 引导安装操作系统并使用程序获取其成功的操作系统安装状态

r - 如何编辑和调试R库源代码

java - Apache POI SXSSF 在刷新行上显示 NullPointerException

java - 使用 Java 9 运行 sdkmanager --list 失败

java/android - long 没有明显原因设置为 -1

java - 游标 RawQuery 上的 NullPointerException - Android

c++ - 摆脱#ifndef NDEBUG

java - 我的 for 循环不会中断,无限打印数组

java - 迭代器是如何创建的?