这个问题以前可能以某种形式被问过,但我还没有在 winform 和用户控件的上下文中看到答案。
据我了解,usercontrols 和 winform 应该具有无参数构造函数(以便它们在设计器中正常工作)。因此,使用属性是一个很好的解决方法。但是,如果未设置重要属性,您应该抛出什么异常(如果有)?
从属性 getter 中抛出参数 null 异常是个好主意吗?或者我应该在方法的开头进行检查,然后从那里抛出异常?
如有任何帮助,我们将不胜感激。
最佳答案
InvalidOperationException 似乎是合适的。鉴于对象的当前状态,该操作无效。然而,我也看到它说你不应该抛出框架异常,而应该派生你自己的异常。我不确定该相信什么。
编辑:基于 http://msdn.microsoft.com/en-us/library/xhcbs8fz.aspx 处的示例我认为只要消息是特定的,就可以抛出 InvalidOperationException。
关于c# - Winform/usercontrols - 属性为空时使用的异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7386819/