RestClientException
Contents
NestedRuntimeException
- RuntimeException의 root cause를 다루기 쉽게 래핑한 예외 클래스
- 내부적으로는 NestedExceptionUtils 라는 유틸리티 클래스를 이용한다.
RestClientException
- 클라이언트 사이드의 HTTP 에러를 만났을 때 던져지는 기본 예외 클래스
RestClientResponseException
- 실제 HTTP 응답 데이터를 포함하고 있는 예외클래스들의 공통 기반 클래스
- int 타입의 rawStatusCode를 가지고 있다.
- int rawStatusCode
- String statusText
- byte[] responseBody: getResponseBodyAsString() 메서드로 읽어올 수 있다.
- HttpHeaders responseHeaders
- String responseCharset
HttpStatusCodeException
- HttpStatus (enum)를 기반으로 하여 만든 추상 클래스
- getStatusCode() 메서드를 통해 HttpStatus를 읽어올 수 있다.
- 직접쓰기 보다는 상속받은 아래 두 클래스를 사용한다.
- HttpClientErrorException : 4xx 대 응답을 받았을 때 던져지는 예외
- HttpServerErrorException: 5xx 대 응답을 받았을 때 던져지는 예외
UnknownHttpStatusCodeException
- HTTP 응답 코드가 허용 범위를 넘어섰을 경우 던져진다.
- 499 (Nginx) …
ResourceAccessException
- I/O를 하는 도중 에러가 발생했을 때 던져진다.