Java异常处理(使用json的示例)

时间:2012-06-11 10:25:26

标签: java exception-handling

首先,我想对这样一个模糊的标题感到抱歉......

我想知道如何处理以下场景中的异常...... 我有一个从EJB接收字符串的Struts操作:

try{       
  JSONObject data = new JSONObject(result);   //result is String 
  String gatewayId = data.getString("gatewayId");
  session.setAttribute("gatewayId", gatewayId);
}catch(Exception e){
  System.out.println(e.getMessage());
}

修改 进口是:

import org.apache.struts2.json.*;
import org.json.*;

如果A json是:

{"gatewayId":100, "mask":4}

如果B json是:

{"success":false, "errorDesc":"bla bla"}

如果 gatewayId 在JSON中我没有问题,但问题是从EJB收到的JSON可以(但不一定)拥有该键:值对。

如果有一个布尔JsonObject.hasString()方法,我会没有例外,这要归功于在if / else if语句中首先检查字符串是否存在,但这样我无法避免例外...

我认为我能做的第一件事就是根据异常类型设置不同的catch块,但似乎所有异常都是泛型 JSONException 类型,而且我也不应该放任何JSON处理catch块中的代码,因为该代码也可以抛出异常。

请记住,我不是在寻找我的JSON问题的确切解决方案,而是在没有帮助您避免例外的函数时如何解决此类问题的一般解释...

我希望我的问题有道理......

1 个答案:

答案 0 :(得分:3)

尝试

data.has("gatewayId");

这会有所帮助。