如何在一个android工作室模块中抛出异常并在另一个模块中捕获它?

时间:2016-03-01 20:16:32

标签: android json android-studio

我正在尝试将我的应用程序拆分为android studio,java库和普通手机中的两个模块。平板电脑模块,手机模块取决于java库。我以这种方式将json库添加到我的java库模块中:

dependecies {
    compile 'org.json:json:20160212'
}

然后我以这种方式将库模块的依赖性添加到手机模块:

dependencies {
    provided project(':libraryModule')
}

现在我在java库中有抛出JSONException的方法:

public JSONObject fun() throws JSONException {
    JSONObject obj = new JSONObject();
    obj.put("some","value");
    return obj;
}

我在手机模块的try-catch-block中调用该方法:

public JSONObject boo() {
    MyObject my = new MyObject();
    try {
        return my.fun();
    } catch (JSONException e) {     //Exception works here
        e.printStackTrace();
    }
    return null;
}

Android Studio在boo()内的MouseOver上显示fun()方法抛出异常,但它也告诉我

  

异常'org.json.JSONException'永远不会在相应的try块中抛出'

但是捕获JSONException的父类,即RuntimeException有效。此外,当我完全删除try catch块时,Android Studio没有显示任何提示或错误,当我还没有通过“Unhandled Exception”提示将代码分发到两个模块时,它就会这样做。

注意: 我打算在不同的非android项目中使用java库。

问题: 这是一个Android Studio问题,我不应该担心它,或者我有一个完全不同的问题,或者我只是在这里遗漏了什么?

0 个答案:

没有答案
相关问题