处理异常

在运行应用程序的时候, 可能会抛出很多异常.可能由于数据库服务器没有打开导致连接不上, 插入的数据类型不符, 想要删除的表不存在等等. 由 .Net Data Provider 抛出的异常大多是 OscarException 对象. 这些异常有可能是从后台数据库跑出来的,也有可能是从前台的 .Net Data Provider 驱动抛出的.比如上面提到的数据库服务器连接不上就是由 .Net Data Provider 驱动抛出的异常, 想要删除的表不存在就是由后台数据库抛出的错误.

那么如何处理这些由 .Net Data Provider 抛出的异常呢? 由 .Net Data Provider 抛出的 DbExceptionOscarException, 一般都会包括错误描述.

通过调用 OscarExceptionToString() 方法或者 Message 属性, 可以获得由驱动或者后台数据库报出的错误. 通过这个错误描述,就可以知道错误的原因.

示例
try
{
... some code ...
}
catch (OscarException ex)
{
    Console.WriteLine(ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}
错误信息编码

如果神通数据库驱动 Oscar.Data.SqlCient 返回错误代码为空, 那么它将与数据库服务端返回错误信息一致, 否则代表驱动自定义的错误消息: