如何保护自己不受参数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

如何保护自己不受参数outofrangeexception的影响

argumentOutOfRangeException告诉您收到的参数是异常。然而,如果你的应用被设计成期望某些参数的方式,那么有两种方法可以做到:

推荐方式 -只需在绑定发生之前检查该值,如果超出

范围,则防止它进一步移动。

-使用try/catch块只捕获特定的异常,并相应地处理