Предположим, что у меня есть метод или конструктор, который использует другой метод или конструктор, который объявляет исключение RuntimeException.Выданные заявления бросков для RuntimeExceptions
// Example:
public MyClass(Object arg) {
setVar(arg);
// Not responsible for dealing with the exception
}
public void setVar(Object arg) throws MyRuntimeException {
if(!isValidArg(arg))
throw new MyRuntimeException("Got you, evil argument!");
// Do something
}
В этом случае возникает исключение RuntimeException, если, например, необходимые предварительные условия не выполняются.
Вопрос: Должен ли метод/конструктор упаковки объявлять одно и то же Исключение, если его аргумент может вызвать выброс Исключения?
Как вы вызываете метод экземпляра внутри конструктора? –
@ LutzHorn Что вы подразумеваете под этим? почему он не должен это делать? Если метод не выполняет тяжелую обработку, это не должно быть проблемой. – giorashc
Ну, конструктор должен построить экземпляр. Мне кажется странным вызывать метод этого экземпляра, прежде чем он будет полностью построен. –