编程语言
首页 > 编程语言> > c# – VS2010的StyleCop中没有足够特定错误的异常类型

c# – VS2010的StyleCop中没有足够特定错误的异常类型

作者:互联网

我有一些代码抛出异常,如下所示.

if (jobFinished)
{
   ...                
} else
{                  
    throw new Exception("The server Error ...")
}

它编译/运行没有问题,但是当我运行StyleCop时,我收到此错误消息,说Exception不是特定的.

Error   10  CA2201 : Microsoft.Usage : Function(string, DirectoryInfo, string, string, string, out string)' 
creates an exception of type 'Exception', an exception type that is not sufficiently 
specific and should never be raised by user code. If this exception instance might be
thrown, use a different exception type.

我只是想在遇到一些错误条件时抛出错误.如何制作足够具体的例外?

解决方法:

抛出InvalidOperationException.

虽然,微软过去在异常处理方面并不一致,但现在是Best Practices for Handling Exceptions.

过去建议创建自己的异常并从ApplicationException派生,但现在您应该从Exception派生.

如果您不需要在方法中区分不同类型的失败,那么InvalidOperationException就足够了.否则,实现从Exception类派生的自己的Exception类.

以下是实施自定义例外的准则:Designing Custom Exceptions

标签:c,stylecop,visual-studio-2010
来源: https://codeday.me/bug/20190621/1254674.html