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