code:
private void myLovelyFunc (String input) { if (Utils.isTooBad(input)) { return sendError("Фуфло на входе!"); } // полезный код buyIt(input); } private void sendError(String message) { // придумать, как рассказать // заказчику об ошибке figureOutHowToTellCustomerAboutTheProblem(message); }
Прототипная myLovelyFunc обречена возвращать void, потому что такая сигнатура у метода внешнего интерфейса, который она реализует.Так проблема-то, как мне представляется, не с ней, а с "return sendError();". Просто замените на "sendError(); return;", и дело с концом.
с чего вдруг архитекторы джавы решили не считать void обычным типом?Я подозреваю, что корни ответа на этот вопрос кроются в ранних 90х, когда в Швеции с чисто игровыми целями создавался язык LPC, который впоследствии стал своего рода предтечей Джавы. Так вот, универсальный тип mixed в LPC может быть чем угодно, но не войдом.