当无效值存储到 DataRow 中时,我试图捕获异常。我正在从文本文件中读取值,因此可以将任何内容存储在那里。我希望能够从以下代码中捕获 InvalidCastException ...
try
{
// Store the values into the Data Row
DataRow row = dataset.Tables["Table"].NewRow();
for (int i = 0; i < fieldCount; i++)
row[i] = values[i];
dataset.Tables["Table"].Rows.Add(row);
}
catch (InvalidCastException castException)
{
return false; // Not a serious problem...just log the issue
}
catch (Exception e)
{
throw e; // A more serious problem occured, so re-throw the exception
}
问题似乎是将无效值存储到 DataRow 中(将“Hello”存储到为整数定义的列中)会引发一般异常(System.Exception),因此不会被我的 try/catch 块捕获......不是确定这是否符合MSDN 文档。