Сообщение об исключении в конструкторе

Итак, у меня есть метод, который генерирует исключение IllegalStateException.

@Override
public Value getJSONValue(String query) throws IllegalStateException {
    Value result = null; 
    JSONIter iter = obj.iterator(); 
    while (iter.hasNext()){
        Value v = iter.getNext();
        result = v;
    }
    return result; 
}//getJSONValue

Я хочу предоставить сообщение конструктору для этого исключения, и это то, что я сделал. Это правильный способ предоставления сообщения.

public QueryManager() {
    obj = null;
    if (obj == null) {
        throw new IllegalStateException("JSON Object has not been loaded");
    }
}

Условием для этого исключения является то, что объект должен вызывать этот метод перед использованием getJSONValue(String)

@Override
public void loadJSON(String JSON) {
    JSONParser parser = new JSONParser();
    this.obj = parser.read(JSON);
    System.out.print("MyJSONObject :" + obj.toString());
}//loadJSON
enter code here

Сообщение в порядке, но вы всегда будете получать исключение, если заранее установите obj на ноль.

shmosel 20.03.2019 01:00

Итак, если я создам новый объект QueryManager(), он будет установлен в значение null, верно? Ему присваивается значение только после того, как я вызываю loadJSON()

Zirhi Daniel 20.03.2019 01:16

........правильный

shmosel 20.03.2019 01:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
48
0

Другие вопросы по теме