我希望我的类中的集合仅限于最多6个元素:
public class Foo
{
private ICollection bars;
public ICollection Bars
{
get { return this.bars; }
set
{
if (value != null && value.Count > 6)
{
throw new Exception("A Foo can only have up to 6 Bars."); // Which exception to throw?
}
}
}
}
在这种情况下,应该抛出什么异常?
根据文档,应该抛出
ArgumentException
:当提供给方法的参数之一无效时。
但这不是一个方法。
ArgumentOutOfRange
应该被抛出:当参数的值超出所调用方法定义的允许值范围时。
这是为了访问集合大小外的元素而设计的,而不是当集合过大时。
是否有其他更适合此情况的异常?
throw new Exception
? - John Saunders