50.3. JAX-RS 2.0 Exception 类型


概述

JAX-RS 2.0 引入了一些特定的 HTTP 异常类型,您可以在应用程序代码中抛出(和捕获)(除现有的 WebApplicationException 异常类型之外)。这些例外类型可用于嵌套标准 HTTP 状态代码,可以是 HTTP 客户端错误(HTTP 4xx 状态代码)或 HTTP 服务器错误(HTTP 5xx 状态代码)。

例外层次结构

图 50.1 “JAX-RS 2.0 应用例外层次结构” 显示 JAX-RS 2.0 中支持的应用级别异常的层次结构。

图 50.1. JAX-RS 2.0 应用例外层次结构

exceptions 01

WebApplicationException class

javax.ws.rs.WebApplicationException 异常类(自 JAX-RS 1.x 起可用)位于 JAX-RS 2.0 异常层次结构的基础,在 第 50.2 节 “使用 WebApplicationException 异常报告” 中进行了详细介绍。

ClientErrorException 类

javax.ws.rs.ClientErrorException 异常类用于封装 HTTP 客户端错误(HTTP 4xx 状态代码)。在应用程序代码中,您可以抛出此异常或其子类之一。

ServerErrorException 类

javax.ws.rs.ServerErrorException 异常类用于封装 HTTP 服务器错误(HTTP 5xx 状态代码)。在应用程序代码中,您可以抛出此异常或其子类之一。

RedirectionException 类

javax.ws.rs.RedirectionException 异常类用于封装 HTTP 请求重定向(HTTP 3xx 状态代码)。此类的构造器采用 URI 参数,该参数指定了重定向位置。重定向 URI 可以通过 getLocation () 方法访问。通常,HTTP 重定向在客户端上是透明的。

客户端异常子类

您可以在 JAX-RS 2.0 应用程序中引发以下 HTTP 客户端异常(HTTP 4xx 状态代码):

BadRequestException
封装 400 Bad Request HTTP 错误状态。
ForbiddenException
封装 403 Forbidden HTTP 错误状态。
NotAcceptableException
封装 406 Not Acceptable HTTP 错误状态。
NotAllowedException
封装 405 方法 Not Allowed HTTP 错误状态。
NotAuthorizedException

封装 401 Unauthorized HTTP 错误状态。在以下情况下可能会引发这个异常:

  • 客户端没有发送所需的凭证(在 HTTP Authorization 标头中),或者
  • 客户端显示凭据,但凭据无效。
NotFoundException
封装 404 Not Found HTTP 错误状态。
NotSupportedException
封装 415 Unsupported Media Type HTTP 错误状态。

服务器例外子类

您可以在 JAX-RS 2.0 应用程序中引发以下 HTTP 服务器例外(HTTP 5xx 状态代码):

InternalServerErrorException
封装 500 Internal Server Error HTTP 错误状态。
ServiceUnavailableException
封装 503 Service Unavailable HTTP 错误状态。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.