原因是初始化的时候给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;
        }