2009-05-29 9 views
0

ライブラリの結果文字列を例外に変換する必要があります。各文字列には数字の結果コードが続き、その後にパイプ文字が続き、次にコード固有のデータが追加されます。私はResultCodeプロパティでカスタム例外を使用し、例外をスローする前にメッセージコードの配列で書式を設定する結果コードでキーを付けたメッセージ文字列のルックアップテーブルを格納することを考えています。このint-string値のテーブルを格納する良い方法は何ですか?エラーメッセージの検索構造

答えて

1

エラーを発生させるかどうかを決定するために使用されるデータが単一のクラスの外部で決して使用されない場合、最適なアプローチはactually hard code the decisionです。これは、アプリケーションプログラミングがシステムやフレームワークのプログラミングとは異なります。私は完全なビジネスプログラミングフレームワークの神聖なプロバイダーであり、時には自分のコードが私が開発した1つの場所でのみ使用されることを認識することなく、十分なナルシシズムに苦しんでいます。したがって、私はこの問題に対する2つの候補ソリューションを開発しました。 : 1.コンストラクタで初期化された、さまざまな例外タイプのキーとしての文字列(コード)の推奨辞書。または 2.中サイズのswitch文。上のコンストラクタと同じハードコーディングを使用します。

アプリケーションの有効期間中に単一使用する可能性が非常に高い単一使用シナリオでは、上記のいずれかが単なる許容可能な解決策ではありません。それは私が実際に注意を必要とする問題に多くのエネルギーを費やすことを可能にする費用効果の高いYAGNIベースのソリューションです。

1

すでに持っているこれらの文字列を保存する必要がある場合は、エラーコードがキーで文字列が値である単純なDictionary<int,string>を使用する必要があります。

文字列を自分で入力する場合は、リソースファイルの使用を検討する必要があります。

関連する問題