Во-первых, я хотел бы сказать, что я извиняюсь за столь двусмысленным названием ...Java обработка исключений (например, с помощью JSON)
Я хотел бы знать, как обрабатывать исключения в следующем сценарии ... у меня есть действие Struts, который принимает строку из EJB:
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());
}
EDIT Импорт являются:
import org.apache.struts2.json.*;
import org.json.*;
В случае А JSON является:
{"gatewayId":100, "mask":4}
В случае B JSON является:
{"success":false, "errorDesc":"bla bla"}
Если gatewayId находится в формате JSON у меня нет проблем, но проблема заключается в том, что JSON, полученные от EJB может (но не обязательно) иметь эту пару: значение.
Если существует метод Boolean JsonObject.hasString() я не буду иметь никаких исключений благодаря проверке существования строки первому, если/иначе, если заявления, но таким образом я не могу обойтись без исключений ...
Первое, что я думал, что я мог сделать, чтобы иметь различные уловах блоки в зависимости от типа исключения, но это, кажется, что все исключения из общего JSONException типа, а также не должны помещать JSON обработки кода в потому что этот код также может бросать его исключения.
Пожалуйста, имейте в виду, что я не ищу точное решение моей проблемы JSON здесь, а скорее общее объяснение того, как решить такие проблемы, когда у вас нет функций, которые помогут вам избежать исключения ...
Я надеюсь, что мой вопрос имеет смысл ....
перед тем, как положить в объект json, не могли бы вы отобразить результат и сообщить мне, что у вас есть? –
Luigi, для полноты PLS включает оператор импорта, который позволяет вам ссылаться на JSONObject. Также было бы полезно иметь упрощенный образец строки JSON, которую вы обрабатываете. –