可能的重复项:
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 代码的方法?!也许一些属性?!
我不会在乎它。由于很多原因,已检查的异常未添加到 .NET 中,但基本上是因为在大多数情况下,它们与其说是帮助,不如说是障碍。你也许可以使用///
来记录它可能合理预期抛出的东西,但把它留给调用链来决定他们是否专门处理它。例如:
/// <summary>what this does</summary>
/// <exception cref="System.IO.IOException">some scenario</exception>
void Open();
在 C# 中,您不必声明代码引发的异常,因此只需忘记这一行代码即可。你的代码很好。