Fetch 실패는 네트워크와 HTTP 상태를 나눠야 한다

DNS·CORS·연결 실패와 서버가 보낸 400/500 응답은 다른 실패다. 분기 기준을 나누면 사용자 메시지도 달라진다.

경계어디서 보이나처리 기준사용자에게 보일 것
transport failurePromise rejectcatch에서 네트워크/차단 처리연결 확인 또는 재시도
HTTP errorresponse.ok false상태 코드와 오류 body 확인검증 오류 또는 서버 오류
parse failurebody 읽기 단계Content-Type과 JSON 형식 확인응답 형식 오류
auth/corscredentials, preflight쿠키 포함과 서버 허용 확인로그인 필요 또는 권한 문제

fetch 오류 처리는 catch 하나로 끝나지 않는다. 응답을 받았는지와 성공 응답인지부터 분리한다.