1

重複の可能性:
スローされる例外を明示的に定義するC#

私はこのようなJavaコードを持っています:

public interface ByteSource
{
    public void open() throws IOException;
    public void close();
    public byte readByte() throws IOException;
    public void writeBytes(byte[] bytes) throws IOException;
}

私はJavaの専門家ではなく(.NETの専門家でもありません!)、同様のインターフェイスを作成したいのですが、.NETどうしたらよいかわかりませんthrows ....。これがJava言語で何を意味するのか知りたいです。

私はそれを気にする必要がありますか?現時点で最高のもの(または私が考えることができるものだけ)は次のようになります:

public interface IByteSource
{
    void Open();
    void Close();
    byte ReadByte();
    void WriteBytes(byte[] bytes);
}

.NETにJavaコードに似たアプローチはありますか?!多分いくつかの属性?!

4

2 に答える 2

7

私はそれを気にしません。チェックされた例外は、多くの理由で.NETに追加されませんでしたが、基本的には、ほとんどの場合、ヘルプというよりも障害であるためです。おそらく、スローすることが合理的に予想されるもの///文書化するために使用できますが、それを具体的に処理するかどうかを決定するのはコールチェーンに任せてください。例えば:

/// <summary>what this does</summary>
/// <exception cref="System.IO.IOException">some scenario</exception>
void Open();
于 2012-10-03T11:26:31.313 に答える
2

C#では、コードがスローする例外を宣言する必要がないため、このコード行を忘れてください。あなたのコードは大丈夫です。

于 2012-10-03T11:26:26.207 に答える