强制接口实现检查异常

时间:2012-10-03 11:23:05

标签: c# java .net exception interface

  

可能重复:
  C# explicitly defining what exceptions are thrown

我有一段像这样的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代码类似?!也许有些属性?!

2 个答案:

答案 0 :(得分:7)

我不在乎。由于很多原因,检查的异常没有添加到.NET,但主要是因为在大多数情况下,它们更多的是障碍而不是帮助。您可以使用/// 记录可能合理预期投掷的内容,但将其留给调用链来决定是否处理特别。例如:

/// <summary>what this does</summary>
/// <exception cref="System.IO.IOException">some scenario</exception>
void Open();

答案 1 :(得分:2)

在C#中,您不必声明代码抛出的异常,因此请忘记这行代码。你的代码很好。