1

ローカル型の例外を発生させ、コンストラクターで *text に渡したいと考えています。

この *text は、後で例外をキャッチしたときに get_longtext メソッドを呼び出すことによって返されたいものです。

もちろん、クラスに属性を追加して、メソッドを再定義できます。ただし、もっと簡単な方法があるはずです(Javaのような言語にあるように、それを「持っている」だけです)。

例外の継承されたコンストラクターには TEXTID パラメーターがあります。ただし、それはクラスプロパティとして定義された「テキスト」を指しています...しかし、それはグローバルクラス用です。

では、既存のコンストラクターをエレガントな方法で利用する方法はありますか? それとも、すべて手作業で行う必要がありますか?

4

2 に答える 2

1

(推奨されるように) グローバル クラスを使用したくない場合はIF_T100_MESSAGE、ローカル クラスにインターフェイスを実装してみることができます。最初に を介して任意のメッセージ クラスでエラー メッセージを保持しSE91、次にタイプ のローカル例外クラスでテキスト ID を定義しますSCX_T100KEY。例外クラス メソッドを実装して、メッセージ テキストのプレースホルダーに追加の属性を使用します (必要な場合)。

詳細については、 を確認IF_T100_MESSAGECL_MESSAGE_HELPERてください。サンプル コードを取得するには、グローバル例外クラスを作成し、インターフェイスを追加してIF_T100_MESSAGE、メソッドがどのように実装されているかを確認します。

于 2012-09-03T08:26:04.823 に答える