0

プロパティゲッターから例外をスローすることは不適切であると聞いており、この論理的根拠の背後にある理由を理解しています。しかし、次の状況は私を困惑させています:あなたがいくつかの異なるプラットフォームに適応することを意図したファサードを書いていると想像してください:

public interface IFacade
{
    int SomeProperty { get; set; }
}

Xここで、そのプラットフォームとYサポートをSomePropertyネイティブに想像しますが、そのプラットフォームはそうでZはありません。NotSupportedExceptionプラットフォームのアダプターのゲッターからスローZすることは、そのプラットフォームの特定のケースでは機能がサポートされていないことをユーザーに伝える正しい方法ではありませんか?

4

2 に答える 2

1

例外をキャッチできないこと(それについてできることは何もない、プラットフォームはサポートされていない!)、または例外がキャッチされた場合は処理できないことがわかっているので、プログラムを終了して、次のようなエラーメッセージを表示することをお勧めします。現在のプラットフォームはサポートされていません。

例外は通常、キャッチして処理できる場所で使用されるか、エラーが発生した場合に予期せずスローされます。プログラムがプラットフォームで実行されているというエラーを検出したz場合、続行できない場合はプログラムを終了します。

于 2012-01-29T18:44:01.500 に答える
1

この動作が文書化されている限り、問題はありません。例外を処理する必要性が心配な場合は、SupportsSomePropertyプロパティを導入できます。ただし、これによりインターフェイスが爆破される可能性があります。

于 2012-01-29T18:50:49.023 に答える