Tom*_*ica 2 java exception-handling try-catch
我的程序正在处理一些JSON数据.我希望程序在一段时间内保持稳定,JSON数据可以随着源的更新和改进而改变.这是从数据中返回一些图像文件名的当前函数:
@Override
public String createImgName() {
try {
// data["image"]["full"]
return getJSONData().getJSONObject("image").getString("full");
}
catch(JSONException e) {
try {
// data["id"] + ".png"
return getJSONData().getJSONObject("id")+".png";
}
catch(JSONException e2) {
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
还有一些我try
可以获得图像名称的东西.但该计划将变得非常丑陋.
在try
成功之前是否存在多种事物的语法?在我的情况下,该return
声明打破了成功的程序,但可能并非总是如此.
小智 8
您可以使用.has()或.isNull()方法检查可能的键,而不是使用多个try语句.
更多信息:http : //www.json.org/javadoc/org/json/JSONObject.html#has(java.lang.String)http://www.json.org/javadoc/org/json/JSONObject.html #isNull(java.lang.String中)
例如:
@Override
public String createImgName() {
try {
JSONObject data = getJSONData();
// data["image"]["full"]
if (data.has("image")) {
return data.getJSONObject("image").getString("full");
} else if (data.has("id")) {
return data.getJSONObject("id")+".png";
}
}
catch(JSONException e) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1529 次 |
最近记录: |