Насколько я понимаю, вы пробовали что-то вроде
try {
final static private ArrayList<Logic> logics = new ArrayList<Logic>(Arrays.asList(new Logic(jo.get("cif").toString())));
} catch (Exception e) {
e.printStackTrace();
}
Проблема в том, что строка не внутри метода, и вы не можете использовать try...catch
там.
Быстрый способ решить эту проблему - поместить эту инициализацию в static
блок
public class Logic {
final static private ArrayList<Logic> logics;
static {
try {
logics = new ArrayList<Logic>(Arrays.asList(new Logic(jo.get("cif").toString())));
} catch (Exception e) {
e.printStackTrace();
}
}
// rest of your class...
}
Но, честно говоря, я должен задаться вопросом, почему вы объявили logics
как static
. Это не видно из остальной части вашего кода. Кроме того, я вижу, что у вас есть нестати c getLogics()
метод. Поэтому я бы сказал, что если на самом деле нет причин объявлять его как static
, просто сделайте его нестати c и инициализируйте его в конструкторе, где вы можете использовать try...catch
для своего сердца.