我正在尝试将我的应用程序拆分为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问题,我不应该担心它,或者我有一个完全不同的问题,或者我只是在这里遗漏了什么?