我是
java的新手,并尝试使用catch catch来处理异常.
这大致是我最终的结果,而且必须有一个更好的方法:
try {
JSONObject jsonObject = new JSONObject(jsonString);
int aCount = jsonObject.getInt("acount");
String devTok = jsonObject.getString("dt");
String qURL = jsonObject.getString("qu");
try {
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Key qKey = KeyFactory.createKey("qu",qURL);
int dsACount = (Integer) datastore.get(qKey).getProperty(kLastKnownANumber);
//..etc.. more try catch blocks needed
} catch (EntityNotFoundException e) {
e.printStackTrace();
}
} catch (com.google.appengine.repackaged.org.json.JSONException e) {
e.printStackTrace();
}
以相同的方式嵌入了更多try catch块,因此最后只有一块catch块.如何处理异常,Eclipse一直要求我使用try catch块或“添加throws声明”.
有时我想捕获某些异常,例如,如果它找不到实体,我想打印“未找到实体”之类的东西,如果JSON字符串无法解析为对象,我想打印一些东西比如“无法解析JSON”.
(我习惯于使用objective-c作为失败的委托方法,或者方法返回null,并且你已经传递了一个指针指向一个NSError对象的指针,该对象将被“填充”,是否有某处了解try-catch?)