Влияние на производительность вряд ли будет достаточным для беспокойства.Тем не менее, я все равно рекомендовал бы использовать Исключение для исключительных ситуаций.В этом случае вам не нужно два метода.Вы можете иметь
boolean transferred = transferFundsIfAvailable( ... );
Причина, по которой использование двух методов нежелательно, заключается в том, что это может вызвать состояние гонки, даже если отдельные методы являются поточно-ориентированными.Скажем, у вас есть
if(checkSufficientFunds()) {
// another thread transfers funds
transferFund(); // but there is not enough any more
}
Также вы можете забыть сначала вызвать чек.Тебе лучше без него.