I've got code that catches everything and logs it. I don't normally do this, but I'm writing an HTTP handler and want to return an appropriate HTTP code. Anyway, I'm putting the following at the top of my method:
[SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "We just log the exception and return an HTTP code")]
FxCop is seemingly ignoring this, which is very frustrating. Especially as it's also ignoring all of my compound word overrides too!
Any idea why it's doing this? I'm using FxCop 10 which is part of the Windows 7/.NET 4 SDK.
- In Solution Explorer, right-click your project and choose Properties.
- In the Properties window, choose the Build tab.
- In the Conditional compilation symbols text box, enter CODE_ANALYSIS.
- In the code where you want to suppress certain messages, add the namespace System.Diagnostics.CodeAnalysis to the using section.
- In FxCop, right-click the message you want to suppress and select Copy As -> SuppressMessage.
- In your C# code, paste the SuppressMessage attribute in your code.
Your SupressMessage looks correct, so it could be the missing conditional compilation symbol!
Hope this helps, at least works on my machine ;) Greetz, Tom.