SPRING
@Transactional try ~ catch 롤백 안 되는 원인
@Transactional 안에서 try ~ catch로 예외를 잡으면 롤백이 동작하지 않는 원인을 TransactionAspectSupport와 rollbackOn 내부 동작으로 분석하고, catch에서 Unchecked Exception을 다시 던지는 해결 방법을 정리합니다.
@Transactional 안에서 try ~ catch로 예외를 잡으면 롤백이 동작하지 않는 원인을 TransactionAspectSupport와 rollbackOn 내부 동작으로 분석하고, catch에서 Unchecked Exception을 다시 던지는 해결 방법을 정리합니다.
로또 수동 구매 기능을 값 객체와 일급 컬렉션으로 구현하고, 리뷰를 반영해 view 쪽 입력 객체, 수동·자동 로또를 합치는 메소드, 스트림으로 구조를 바꾼 기록입니다.
Collectors.toMap()으로 Map을 만들 때 키가 중복되면 발생하는 IllegalStateException(Duplicate Key)과, 세 번째 인자인 Merge Function으로 값을 병합해 해결하는 방법을 정리합니다.
프록시 서버를 거쳐 이미지를 받아 오는 코드에서 getBody() null 체크와 RuntimeException catch가 빠져 발생한 NPE의 원인과, 방어 코드·catch 추가로 해결한 과정을 정리합니다.
클린 코드 7장을 읽고 오류 코드 대신 예외를 쓰는 이유, try-catch-finally부터 작성하는 방법, checked 예외가 캡슐화를 깨는 문제, 외부 API 감싸기, 특수 사례 객체와 null을 반환하지 않는 방법을 정리합니다.