【发布时间】:2009-05-27 12:38:20
【问题描述】:
已经有很多关于例外的问题,但我找不到能回答我的问题的问题。如果我错过了另一个问题,请随时指出我的方向。
我的问题很简单:其他 (C#) 开发人员如何选择最合适的异常类型来抛出?之前我写了以下代码:
if (Enum.IsDefined(enumType, value))
{
return (T)Enum.Parse(enumType, value);
}
else
{
throw new ArgumentException(string.Format("Parameter for value \"{0}\" is not defined in {1}", value, enumType));
}
我后来意识到,如果我当时知道它的存在,那么抛出 InvalidEnumArgumentException 可能会更合适。
是否有可用的权威资源来帮助开发人员选择异常类型,或者仅仅是经验问题?
编辑
我已经给诺多林积分,因为它在一个深思熟虑的答案中提供了一系列想法。积分可能真的属于你们中的任何人 - 感谢所有建议。
【问题讨论】: