Итак, у меня есть метод, который генерирует исключение 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
Итак, если я создам новый объект QueryManager(), он будет установлен в значение null, верно? Ему присваивается значение только после того, как я вызываю loadJSON()
........правильный




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