Как сейчас, уже пришли к единому мнению по этому вопросу или нет? Ранее было 2 лагеря, первый из которых был "за" (особенно много представителей в Java-среде), второй против. Доходило до мордобоя...
Классический пример, фукнция перевода денег на счет:
long Transfer(int toAccount, decimal amount);
Функция возвращает номер перевода, если успешно. А если не успешно -- возникает исключение.
Что если денег на счету не достаточно? Выкинуть исключение NotEnoughMoneyException или же обернуть результат в обертку, где будет код возврата (типа успешно -- значит 0, а -100500 -- значит не хватает денег)?
Как предпочитает делать большинство?