如何保护自己不受参数outofrangeexception的影响
本文关键字:参数 outofrangeexception 影响 自己 何保护 保护 | 更新日期: 2023-09-27 18:02:49
我有numericUpDown控制minValue - 0 maxValue - 100.
我创建了这个控件的绑定。
如果值改成101就会异常,这是我不需要的,而且我想值也没有特别提到。怎么做?
更新:
BindinHelper.BindField(this.nUpDownExecArea, "Value", TempConfigClass, "ExecArea");
BindField:
public static void BindField(Control control, string propertyName,
object dataSource, string dataMember)
{
Binding bd;
for (int index = control.DataBindings.Count - 1; (index == 0); index--)
{
bd = control.DataBindings[index];
if (bd.PropertyName == propertyName)
control.DataBindings.Remove(bd);
}
control.DataBindings.Add(propertyName, dataSource, dataMember, false, DataSourceUpdateMode.OnPropertyChanged);
}
I set TempConfigClass.ExecArea = 99999;
不会导致错误,但是当我转到选项卡(tabcontrol)时,错误显示为numericUpDown
argumentOutOfRangeException告诉您收到的参数是异常。然而,如果你的应用被设计成期望某些参数的方式,那么有两种方法可以做到:
推荐方式 -只需在绑定发生之前检查该值,如果超出
范围,则防止它进一步移动。或 -使用try/catch块只捕获特定的异常,并相应地处理