1

の Type をキャッチ/取得してOleDbException、正しいエラー メッセージを生成しようとしました。

現時点では、OleDbException は何でもキャッチできると確信していますが、エラー メッセージを生成するために重複値違反のみをキャッチしたいと考えています。

これは私が今のところやっていることです。

ex As OleDb.OleDbException
MessageBox.Show(ex.Errors.Item(1).ToString(), "Error Message", MessageBoxButtons.OK)

出力は次のようになります。

「UNIQUE KEY 制約 'UC_MyTable' に違反しています。オブジェクト 'dbo.MyTable' に重複するキーを挿入できません。重複するキーの値は (PJO、Peter Johanson) です。」

4

1 に答える 1

1

.InnerException例外のプロパティを見てください。

それについては、 MSDN ドキュメントを参照してください。


プロパティを使用するか、メッセージによって生成されたハッシュ コードを使用することもでき.ErrorCodeます。これは、エラー メッセージごとに異なります。

ex.Message.GetHashCode
于 2013-06-06T07:10:55.640 に答える