Why does Code Analysis not warn about NotImplementedException?

99封情书 提交于 2019-12-12 10:45:08

问题


I'm pretty sure that previous versions of Visual Studio Code Analysis warned about the use of NotImplementedException, i.e. any member that contained this

throw new NotImplementedException();

would give a CA warning.

This doesn't seem to be the case with Visual Studio 2008.

Was that particular rule removed, or am I just imagining that it ever existed?


回答1:


You are probably thinking about this FxCop warning that you get when throwing NotImplementedException from special methods such as a property getter, event accessor, Equals, GetHashCode, Dispose etcetera:

CA1065 : Microsoft.Design : 'SomeClass.SomeProperty.get()' creates an exception of type 'NotImplementedException', an exception type that should not be raised in a property. If this exception instance might be raised, use a different exception type, convert this property into a method, or change this property's logic so that it no longer raises an exception.

However, it is not explicitly related to NotImplementedException. FxCop has white lists for the exceptions that may be (directly) thrown by these methods.




回答2:


I don't recall ever seeing such a rule in the Microsoft-shipped rule set. It's one of the first custom rules I've created at the day job since at least the days of FxCop 1.35, so I'd have to guess that it harkens back to the days of FxCop 1.32 if it did ever exist...




回答3:


I know this is an old question, but I'm getting this as a warning (12 Sep 2017), when running Code Analysis, using Visual Studio 2017. It is the "CA1065" code that Wim Coenen mentions, so it seems Microsoft must have ported FxCop rules to the Roslyn-based analysis platform.

Link provided in Error List window




回答4:


Unfortunately, there isn't such a rule in the standard ruleset.

You can find my implementation of it in one of my other answers.



来源:https://stackoverflow.com/questions/2333053/why-does-code-analysis-not-warn-about-notimplementedexception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!