50장. 예외 처리
초록
가능한 경우 리소스 메서드로 catch된 예외로 인해 유용한 오류가 요청 소비자로 반환되어야 합니다. Cryostat-RS 리소스 메서드는 WebApplicationException 예외를 throw할 수 있습니다. 예외를 적절한 응답에 매핑하기 위해 ExceptionMapper<E> 구현을 제공할 수도 있습니다.
50.1. Cryostat-RS 예외 클래스 개요
50.1.1. 개요
Cryostat-RS 1.x에서 사용 가능한 유일한 예외 클래스는 WebApplicationException
입니다. 그러나 Cryostat-WS 2.0 이후 많은 추가 Cryostat-RS 예외 클래스가 정의되어 있습니다.
50.1.2. Cryostat-RS 런타임 수준 예외
다음 예외는 Cryostat-RS 런타임에서만 발생해야 합니다(즉, 애플리케이션 수준 코드에서 이러한 예외를 throw 해서는 안 됩니다).
ProcessingException
-
(JAX-RS 2.0만 해당)
javax.ws.rs.ProcessingException
은 요청 처리 중에 또는 Cryostat-RS 런타임의 응답 처리 중에 throw될 수 있습니다. 예를 들어 필터 체인의 오류 또는 인터셉터 체인 처리 오류로 인해 이 오류가 발생할 수 있습니다. ResponseProcessingException
-
(JAX-RS 2.0만 해당)
javax.ws.rs.client.ResponseProcessingException
은ProcessingException
의 하위 클래스이며 클라이언트 측 의 Cryostat-RS 런타임에서 오류가 발생할 때 throw될 수 있습니다.
50.1.3. Cryostat-RS 애플리케이션 수준 예외
다음 예외는 애플리케이션 수준 코드에서 throw(및 catch)합니다.
WebApplicationException
-
javax.ws.rs.WebApplicationException
은 서버 측의 애플리케이션 코드에서 throw될 수 있는 일반 애플리케이션 수준 level Cryostat-RS 예외입니다. 이 예외 유형은 HTTP 상태 코드, 오류 메시지 및 응답 메시지를 캡슐화할 수 있습니다. 자세한 내용은 50.2절. “WebApplicationException을 사용하여 보고”의 내용을 참조하십시오. ClientErrorException
-
(JAX-RS 2.0만 해당)
javax.ws.rs.ClientErrorException
예외 클래스는WebApplicationException
에서 상속되며 HTTP4xx
상태 코드를 캡슐화하는 데 사용됩니다. ServerErrorException
-
(JAX-RS 2.0만 해당)
javax.ws.rs.ServerErrorException
예외 클래스는WebApplicationException
에서 상속되며 HTTP5xx
상태 코드를 캡슐화하는 데 사용됩니다. RedirectionException
-
(JAX-RS 2.0만 해당)
javax.ws.rs.RedirectionException
예외 클래스는WebApplicationException
에서 상속되며 HTTP3xx
상태 코드를 캡슐화하는 데 사용됩니다.