J'essaie d'attraper une exception lorsqu'une valeur non valide est stockée dans un DataRow. Je lis les valeurs d'un fichier texte pour que tout puisse y être stocké. J'espérais pouvoir attraper un InvalidCastException à partir du code ci-dessous ...Est-ce que DataRow lance une exception InvalidCastException lorsque j'insère une valeur d'un type différent ...?
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
}
Le problème semble que le stockage d'une valeur non valide dans le DataRow (stockage « Bonjour » dans une colonne définie pour ints) jette un général exception (System.Exception) donc ne pas être attrapé par mon bloc try/catch ... n'était pas sûr si c'est en ligne avec le MSDN documentation.