0

無効な値が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に格納する(int用に定義された列に "Hello"を格納する)と一般的な例外(System.Exception)がスローされるため、try/catchブロックにキャッチされないようです...それがMSDNのドキュメントと一致しているかどうかを確認してください。

4

1 に答える 1

1

OK...うまくいきました...

ArgumentExceptionをスローします。

于 2010-07-16T03:17:21.053 に答える