7.12.3. 例外処理に対するアノテーションの使用


次の例外は Seam コンポーネント層の外部に伝播すると必ず HTTP 404 エラーが発生します。送出されてもすぐに現在のトランザクションをロールバックしませんが、別の Seam コンポーネントによって例外がキャッチされないとこのトランザクションはロールバックされます。
@HttpError(errorCode=404) 
public class ApplicationException extends Exception { 
    ... 
}
Copy to Clipboard Toggle word wrap
この例外は Seam コンポーネント層の外部に伝播すると必ずブラウザリダイレクトが発生します。また現在の対話も終了させます。 これにより現在のトランザクションを即時ロールバックすることになります。
@Redirect(viewId="/failure.xhtml", end=true) 
@ApplicationException(rollback=true) 
public class UnrecoverableApplicationException extends RuntimeException { 
    ... 
}
Copy to Clipboard Toggle word wrap

注記

Seam は JSF の RENDER_RESPONSE フェーズ中に発生する例外は処理できません。一度応答の出力が開始するとリダイレクトを実行することができないからです。
EL を使ってリダイレクト先の viewId を指定することも可能です。
この例外が Seam コンポーネント層の外部に伝播すると、 リダイレクトとなりユーザーにメッセージが表示されます。 また、 現在のトランザクションを直ちにロールバックします。
@Redirect(viewId="/error.xhtml", message="Unexpected error") 
public class SystemException extends RuntimeException { 
    ... 
}
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat