N° 01 — 목록
'exception' (2)
-
Backend Development/SpringSpring - 08. validation exception
@Valid가 거부한 요청이 어떤 응답이 되는가 — 검증과 예외 처리 파이프라인@PostMapping("/api/users")public UserDto create(@Valid @RequestBody CreateUserRequest request) { ... }클라이언트가 {"email": "invalid", "age": -5}를 보냈다. @Valid가 검증을 수행하고, 실패하면 MethodArgumentNotValidException을 던진다. 이 예외를 처리하지 않으면 — 클라이언트는 Spring의 기본 에러 페이지(또는 500)를 받는다. 올바른 API는 구조화된 400 에러 응답을 반환해야 한다.이 글은 Bean Validation 3.1(Jakarta), @ControllerAdvice로 전역 ..
-
Backend Development/JavaJava - 09. exception
throws Exception이 최악의 예외 처리인 이유 — 예외 계층과 자원 관리메서드 시그니처에 throws Exception이라고 적힌 코드를 본 적이 있는가. "뭔가 예외가 날 수 있는데, 구체적으로 뭔지는 모르겠고, 어차피 호출하는 쪽에서 처리해"라는 뜻이다. 이것은 예외 처리가 아니라 예외 무시다. 호출하는 쪽은 catch (Exception e)를 강제받고, 정작 복구할 수 있는 정보는 없다."복구할 수 있으면 checked, 못 하면 unchecked." — 이 한 문장이 Java 예외 시스템의 핵심이다. (JLS §11) 이 글은 checked vs unchecked의 선택 기준, try-with-resources의 자동 자원 관리, 그리고 "예외를 삼키면 안 되는 이유"를 풀어간다.예외..