我有一个需要返回JSONObject的方法:
public JSONObject getDayJson(Date date) {
...
a few lines of code
...
return new JSONObject("..");
}
但是,这给了我一个错误,因为我需要捕获实例化JSONObject可能导致的任何异常:
public JSONObject getDayJson(Date date) {
try {
...
a few lines of code
...
return new JSONObject("..");
} catch (Exception e) {
// need a return statement here!
}
}
这会导致另一个错误,因为在catch块中,我没有返回正确的对象类型,即JSONObject。如果确实在catch中实例化了另一个JSONObject,则需要嵌套另一个catch语句?!
最佳答案
您最好考虑一下如果发生异常,该怎么办,但是一种选择是强制使用非异常调用构造函数。
public JSONObject getDayJson(Date date) {
try {
...
a few lines of code
...
return new JSONObject("..");
} catch (Exception e) {
// doesn't throw another exception
return new JSONObject(new HashMap());
}
}