第50章 例外処理


概要

可能な場合に、リソースメソッドがキャッチした例外をトリガーとして、有用なエラーが要求元コンシューマーに返されるはずです。JAX-RS リソースメソッドは WebApplicationException 例外を出力できます。例外を適切な応答にマッピングするために ExceptionMapper<E> 実装を指定することもできます。

50.1. JAX-RS 例外クラスの概要

概要

JAX-RS 1.x では、利用可能な例外クラスは WebApplicationException のみです。しかし、JAX-WS 2.0 以降、多くの JAX-RS 例外クラスが追加で定義されています。

JAX-RS ランタイムレベルの例外

以下の例外は、JAX-RS ランタイムでだけ出力されるはずです (つまり、これらの例外はアプリケーションレベルのコードからは出力しないでください)。

ProcessingException
(JAX-RS 2.0 のみ) リクエストの処理中または JAX-RS ランタイムでの応答処理中に javax.ws.rs.ProcessingException を出力できます。たとえば、フィルターチェーンまたはインターセプターチェーン処理のエラーが原因で、このエラーが出力される可能性があります。
ResponseProcessingException
(JAX-RS 2.0 のみ) javax.ws.rs.client.ResponseProcessingExceptionProcessingException のサブクラスであり、クライアント側 の JAX-RS ランタイムでエラーが発生したときに出力される可能性があります。

JAX-RS アプリケーションレベルの例外

以下の例外は、アプリケーションレベルのコードで出力 (およびキャッチ) されるように設計されています。

WebApplicationException
javax.ws.rs.WebApplicationException は、汎用アプリケーションレベルの JAX-RS 例外で、サーバー側のアプリケーションコードで出力できます。この例外タイプは、HTTP ステータスコード、エラーメッセージ、および応答メッセージをカプセル化 (任意) できます。詳細は、「WebApplicationException 例外を使用したレポート」 を参照してください。
ClientErrorException
(JAX-RS 2.0 のみ) javax.ws.rs.ClientErrorException 例外クラスは WebApplicationException から継承し、HTTP 4xx ステータスコードをカプセル化するために使用されます。
ServerErrorException
(JAX-RS 2.0 のみ) javax.ws.rs.ServerErrorException 例外クラスは WebApplicationException から継承し、HTTP 5xx ステータスコードをカプセル化するために使用されます。
RedirectionException
(JAX-RS 2.0 のみ) javax.ws.rs.RedirectionException 例外クラスは WebApplicationException から継承し、HTTP 3xx ステータスコードをカプセル化するために使用されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.