原因是初始化的时候给ComboboxCell绑定了一系列的值,但是真正赋值的时候却给了一个不在那一系列值范围中的值,所以就报了这个错
在开发的时候难免会因为数据的问题出现这个问题,为了不让系统崩掉,就要处理这个错误信息
但是怎么捕捉并处理这个异常呢?
我也不知道怎么捕捉,但是我知道DataGridView已经有了一个处理数据错误的事件,DataGridView.DataError事件,在这个事件中可以对这个异常进行处理
dgvSpec.DataError += dgvSpec_DataError; /// <summary> /// 处理数据异常的情况 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void dgvSpec_DataError(object sender, DataGridViewDataErrorEventArgs e) { LogHelper.WriteLog("试剂字典", "获取数据", "存在异常数据,请检查导入数据是否完整:" + e.Exception.Message); DialogMsgHelper.ShowExcepitonMsg("数据异常", e.Exception, string.Format("规格信息第{0}行第{1}列数据异常,可能由于导入的数据不完整导致的,请检查数据是否完整", e.RowIndex + 1, e.ColumnIndex + 1)); e.Cancel = true; }