検索

6.2.2.3. 国際化された例外の作成

download PDF
このタスクでは、国際化された例外を作成する方法とその使用方法を示します。本タスクでは、これらの例外のすべてのオプション機能または国際化のプロセスについて説明しません。
完全な例については、logging-tools クイックスタートを参照してください。
このタスクでは、Red Hat JBoss Developer Studio または Maven のいずれかでビルドされているソフトウェアプロジェクトがすでにあり、それに国際化された例外を追加することを前提としています。

手順6.3 国際化された例外を作成して使用する

  1. JBossLoggingTools 設定を追加します

    JBossLoggingTools をサポートするために必要なプロジェクト設定を追加します。「JBoss Logging Tools の Maven 設定」 を参照してください
  2. 例外のインターフェースを作成します。

    JBoss Logging Tools はインターフェースで国際化されたメッセージを定義します。定義される例外について、各インターフェイスにわかりやすい名前を付けます。
    インターフェースの要件は以下のとおりです。
    • 次のように宣言する必要がありますpublic
    • 注釈を付ける必要があります@org.jboss.logging.MessageBundle
    • インターフェースと同じ型のメッセージバンドルであるフィールドをインターフェースが定義する必要があります。
    @MessageBundle(projectCode="")
    public interface ExceptionBundle 
    {
       ExceptionBundle EXCEPTIONS = Messages.getBundle(ExceptionBundle.class);
    }
    
  3. メソッド定義を追加する

    各例外のインターフェースにメソッド定義を追加します。例外に対する各メソッドにその内容を表す名前を付けます。
    各メソッドの要件は次のとおりです。
    • タイプのオブジェクトを返す必要がありますExceptionまたはのサブタイプException
    • 注釈を付ける必要があります@org.jboss.logging.Message注釈。
    • の値属性@org.jboss.logging.Messageデフォルトの例外メッセージに設定する必要があります。このメッセージは翻訳がない場合に使用されます。
    • メッセージ文字列の他にパラメーターを必要とするコンストラクターが返される例外にある場合は、@Param アノテーションを使用してこれらのパラメーターをメソッド定義に提供する必要があります。パラメーターは、コンストラクターと同じタイプおよび順序である必要があります。
    @Message(value = "The config file could not be opened.")
    IOException configFileAccessError();
    
    @Message(id = 13230, value = "Date string '%s' was invalid.")
    ParseException dateWasInvalid(String dateString, @Param int errorOffset);
  4. invoke メソッド

    例外を取得する必要があるコードでインターフェースメソッドを呼び出します。メソッドによって例外は発生されず、発生できるな例外オブジェクトがメソッドによって返されます。
    try 
    {
       propsInFile=new File(configname);
       props.load(new FileInputStream(propsInFile));
    }
    catch(IOException ioex) //in case props file does not exist
    {
       throw ExceptionBundle.EXCEPTIONS.configFileAccessError(); 
    }
結果: プロジェクトで、現地語化できる国際化された例外がサポートされるようになります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.