是否有任何 C# 代码分析工具可以验证 XML 注释中的异常是否在调用链中的某处得到处理?
假设只有需要专门处理的异常是 xml 注释的,这将非常有用。
是否有任何 C# 代码分析工具可以验证 XML 注释中的异常是否在调用链中的某处得到处理?
假设只有需要专门处理的异常是 xml 注释的,这将非常有用。
我还没有听说过——因为你不能使用反射来获得编译程序集中的注释,我认为这是不可能的。编译器或代码分析工具可能会检查是否在 XML 注释中正确注释了任何抛出的(或下游?)异常,但仅此而已。
您可能对Microsoft Research的Spec#感兴趣。根据项目现场:
Spec# 是面向对象语言 C# 的扩展。它扩展了类型系统以包括非空类型和检查异常。它以前置条件和后置条件以及对象不变量的形式提供方法契约。
我认为,这与您将要获得的差不多。它将执行 Java 所做的事情:强制引发异常的函数的调用者处理这些异常或在其元数据中声明它们自己传播/抛出这些异常,直到异常在某处得到处理。不过,我不知道 Spec# 是否会让您只检查特定的异常类型。