2

我真正喜欢的 Java 中没有 C# 的一个特性是检查异常。有什么方法可以模拟(可能通过 stylecop?)或在 Visual Studio 中打开检查的异常?

是的,我知道很多人不喜欢他们,但我发现他们会有所帮助。

4

3 回答 3

15

据我所知,没有办法在 C# 中执行检查异常。该语言不支持该功能(或错误,取决于您如何看待它:))。

您最好的选择是在您的方法中添加 XML 注释,包括它抛出的异常,并希望调用您的代码的人阅读文档。

像这样的东西:

/// <summary>
/// This is my method that does stuff.
/// </summary>
/// <exception cref="InvalidOperationException">This stuff can't be done!</exception>
public void DoStuff() 
{
    // do stuff
}
于 2010-03-25T18:02:25.750 回答
2

我敢打赌,您可以使用PostSharp 之类的工具来实现检查异常。就像是:

[Throws(typeof(MyExpection))]
public void Method()
{
   throw new MyException();
}

不确定 PostSharp 或其他一些AOP框架中是否已经存在类似的东西(以及 .NET 的设计者不喜欢检查异常的原因仍然成立),但我敢打赌这是可能的。

于 2010-03-25T18:57:15.233 回答
1

对于这个问题:“有没有办法模拟(可能通过 stylecop?)或在 Visual Studio 中打开检查的异常?” - 是的:试试这个 Visual Studio 扩展:https ://marketplace.visualstudio.com/items?itemName=YoavFrandzel.CheckedExceptions

于 2018-09-30T14:35:03.700 回答