Работает на Android-приложении, которое собирает данные из Open Weather API в качестве JSON. Однако JSON не всегда содержит одни и те же ключи (т. Е. Иногда включаются данные облака или описание погоды, иногда это не так).Допустимо ли исключать исключения, если не получить ожидаемые данные JSON?
Прямо сейчас мой код выглядит следующим образом (с некоторыми дополнительными геттерами/сеттерами я не причисляю):
public class WeatherDescrip {
private String weather;
private String weather_Desc;
private String icon;
public WeatherDescrip(JSONObject weatherObj) {
try {
weather = weatherObj.getString("main");
} catch (JSONException e) {
weather = null;
e.printStackTrace();
}
try {
weather_Desc = weatherObj.getString("description");
} catch (JSONException e) {
weather_Desc = null;
e.printStackTrace();
}
try {
icon = weatherObj.getString("icon");
} catch (JSONException e) {
icon = null;
e.printStackTrace();
}
}
}
В принципе, если JSON я получаю от вызова API не имеет необходимый ключ I пусть программа выдает исключение, которое обычно происходит с по меньшей мере одной частью данных каждый раз, когда приложение запускается (это делается больше).
Если кто-нибудь может сообщить мне, является ли это приемлемым способом кодирования, и, возможно, как лучше реализовать это, я бы очень его оценил.
Если вы еще не заметили, я тоже полный нуб, извините заранее, если это ужасный способ сделать это.
Большое спасибо