Skip to content

Commit 3f6e24a

Browse files
refactor: separate catch blocks and log level based on exception
1 parent 0f03d2c commit 3f6e24a

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/main/java/com/itau/transferencia/services/impl/TransferServiceImpl.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import com.itau.transferencia.exceptions.BusinessException;
77
import com.itau.transferencia.exceptions.InsufficientFundsException;
88
import com.itau.transferencia.exceptions.SameAccountException;
9-
import com.itau.transferencia.http.requests.TransferRequest;
10-
import com.itau.transferencia.http.responses.TransferResponse;
119
import com.itau.transferencia.repositories.TransferRepository;
10+
import com.itau.transferencia.requests.TransferRequest;
11+
import com.itau.transferencia.responses.TransferResponse;
1212
import com.itau.transferencia.services.CustomerService;
1313
import com.itau.transferencia.services.TransferLogService;
1414
import com.itau.transferencia.services.TransferService;
@@ -60,9 +60,15 @@ public Transfer transfer(String sourceAccount, TransferRequest transferRequest)
6060
destination.setBalance(destination.getBalance().add(amount));
6161

6262
return repository.save(Transfer.ofCompleted(source, destination, amount));
63-
} catch (ObjectOptimisticLockingFailureException | BusinessException exception) {
64-
logger.warn(exception.getMessage(), exception);
65-
transferLogService.save(Transfer.ofFailed(source, destination, transferRequest.amount()));
63+
} catch (BusinessException exception) {
64+
var failedTransfer = Transfer.ofFailed(source, destination, transferRequest.amount());
65+
logger.warn(failedTransfer.toString(), exception);
66+
transferLogService.save(failedTransfer);
67+
throw exception;
68+
} catch (ObjectOptimisticLockingFailureException exception) {
69+
var transfer = Transfer.ofFailed(source, destination, transferRequest.amount());
70+
logger.error(transfer.toString(), exception);
71+
transferLogService.save(transfer);
6672
throw exception;
6773
}
6874
}

0 commit comments

Comments
 (0)