我需要捕获以下特定异常:
System.Data.OleDb.OleDbException 被捕获 ErrorCode=-2147467259
Message="您请求对表的更改不成功,因为它们会在索引、主键或关系中创建重复值。更改包含重复数据的字段中的数据、删除索引或重新定义索引允许重复条目并重试。” Source="Microsoft JET 数据库引擎" StackTrace:在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) 在 System.Data.OleDb.OleDbCommand 的 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)。 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior 行为,Object&executeResult) 的 System.Data.OleDb 的 ExecuteCommandText(Object& executeResult)。
我不确定是什么ErrorCode
,但它看起来不可靠。
我可以依靠Message
跨平台相同吗?
我可以以某种方式使用OleDbHResult hr
堆栈跟踪中的值吗?(见https://stackoverflow.com/a/991660/327528)
是对诸如和之Message
类的词进行文本搜索的唯一解决方案吗?duplicate
primary key