进入行时出现DataGridView ConstraintException,无法跟踪的异常

时间:2019-06-10 16:58:44

标签: c# winforms datatable constraints unique

我正在开发一个Win Forms应用程序,其中有一个已绑定到DataTable的DataGridView。 DataTable已在其EAN字段上应用了唯一约束。 当使用相同的EAN数据创建新条目时,将引发以下异常(如图所示)。

我想处理该异常并显示一些不同的消息并执行一些操作,但是问题是我无法从哪里弄清楚该异常被抛出。

尝试在代码的各个部分设置断点(可能会出现断点),还尝试将代码的各个部分包装到try catch中。 这个异常甚至都没有触及代码。(我想这可能是一些事件问​​题!)

 try
 {
    Product_dataGridView.UserAddedRow += Management_dataGridView_UserAddedRow;
    Product_dataGridView.UserDeletedRow += Product_dataGridView_UserDeletedRow;
 }
 catch (Exception exe)
 {
    MessageBox.Show(exe.Message);
 }

Error Image

1 个答案:

答案 0 :(得分:0)

该错误消息是通过以下代码处理的:-

在构造函数中添加了此事件,然后编写了用于处理我的问题并将错误消息更改为更具可读性的消息的代码。

public ManagementCtrl()
{
  Product_dataGridView.DataError += Product_dataGridView_DataError;
}

然后

private void Product_dataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e)
{         
   MessageBox.Show(e.Exception.Message + " Validated");
   //other actions
}