我想知道在使用 getter 和 setter 时模型验证的最佳实践是什么。具体来说,我的模型中有可以为空的字段,在某些用例中,访问时不应有空值。在这些情况下,我想从 getter 中抛出一个异常,但这是一种公认的做法吗?
如果我在 setter 中收到无效的值,也可能是这种情况。
除了抛出异常之外,我还知道 MVC 属性可用于装饰字段,但并未将它们用于模型验证。在“此值在我的 getter 中不应为空”场景中,是否有我可以使用的适当属性?
此外,如果接受在 getter 和 setter 中抛出异常,是否有推荐的抛出异常,即 ValueNotValidException (如果那是真实的)?