[Proof] Repository 구현체의 catch는 수정 경로 예외를 번역하는가 — 지지
예외 종류별 처리 표준의 원칙 2는 영속성 예외(DB에 저장하고 읽는 과정에서 나는 예외)를 Repository 구현체의 try/catch에서 번역하게 한다. 예시 구현체는 save 하나에서 신규와 수정을 함께 처리하고, 전체를 감싼 catch가 DataIntegrityViolat...
예외 종류별 처리 표준의 원칙 2는 영속성 예외(DB에 저장하고 읽는 과정에서 나는 예외)를 Repository 구현체의 try/catch에서 번역하게 한다. 예시 구현체는 save 하나에서 신규와 수정을 함께 처리하고, 전체를 감싼 catch가 DataIntegrityViolat...
제목 끝의 「지지」는 이 실험의 판정이 supported(주장이 뒷받침됐다)라는 뜻이다.
먼저 알아 둘 것 — 이 글의 결과는 반증(주장이 틀렸다는 판정)이지만, 실험에 쓴 자식 객체(주문 항목 OrderItem)가 표준이 금한 모양이었다. 값을 담는 필드가 final이 아니었고, 그 필드를 직접 바꾸는 void 메서드가 있었다. 그래서 이 결과는 표준을 반증하지 않는...
Service 계층 assert 표준은 Service 클래스 안에서 assert 문을 어디에 쓰고 어디에 쓰지 않을지 정한 글이다. 그 글은 도달 불가 분기(제대로 돌면 실행이 절대 오지 않아야 하는 갈래)를 assert가 아니라 throw new AssertionError로 막기...
예외 처리 표준과 예외 종류별 처리 표준은 Error 계열을 잡지 않기로 정했고, 그 근거로 이렇게 적었다.