下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何处理NHibernate源码的异常情况

作者:课课家教育     来源: http://www.kokojia.com点击数:702发布时间: 2017-02-19 14:00:55

标签: 数据库服务器编程代码

大神带你学编程,欢迎选课

  .NET框架是微软公司继Windows DNA之后的新开发平台,它是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。NET包含许多有助于互联网和内部网应用迅捷开发的技术。在这篇教程中,小编会和大家介绍一下如何处理NHibernate源码的异常情况?

  异常处理

  不知道大家是否知道,NHibernate(一个面向.NET环境的对象/关系数据库映射工具。)全部的异常处理都是派生自一个名字叫做Hibernate Exception的类,经常发生在数据库层的原生异常被保留,并没有做出任何的处理。

如何处理NHibernate源码的异常情况_数据库_服务器_编程代码_课课家

  然而HibernateException这一个类派生(从一个主要事物的发展中分化出来)自系统里面名字叫做Application Exception的类,那么Application Exception又有什么解释呢?具体的解释如下:The exception that is thrown when a non-fatal application error occurs.

  这所代表的意思就是:向大家抛出了一个不是很致命的应用程序异常。HibernateException类里面的Serializable关键字,表明可以被序列化(将对象的状态信息转换为可以存储或传输的形式的过程。),可以保存成为文件下来当做分析使用。

  在系统中里面有非常多的异常处理类,发生异常或者是一些重要错误的时候,就需要使用log4net记录下所有的数据信息。

  编程代码

  现在我们就一起来看一看NHibernate在ado.net事务提交的时候,究竟有什么的异常处理方法吧?编程代码如图所示:

第一页编程代码第二页编程代码

  在上面的编程代码中,其中Don't wrap Hibernate Exceptions这一行编程代码所代表的意思就是:这样子进行处理的话,并不会清除掉已发生的Hibernate Exceptions信息。换句话来说,就是在执行过程里面,抓到了其他的Hibernate Exceptions类型的异常就开始向上抛。没错,这就是自定义异常处理的优点了,也是小编为什么会喜欢它的原因。然而Commit failed with SQLexception这一行编程代码所代表的意思就是:数据库sql事务提交执行的时候已经发生出错现象了,向上抛出Hibernate Exceptions类型的错误信息,那是因为都派生自Hibernate Exception类。

  注意事项:在这里,大家要注意一点,那就是不是同类就是throw个message,如果是同类的话就throw.

  当然啦,这也会有它不足之处,它的缺点就是,异常处理里面并没有包括标识的信息,这样子就会让上层调用没有办法通过标识信息确定一些究竟发生了怎样的异常,仅仅只可以看到一个message而已。这个的解决方法,仅仅只有通过修改原来的编程代码来实现。具体的实现方法如下:将一个个的标识通通加入到一个异常message里面,这样子就可以方便上层抓到了,大家不妨可以尝试一下.

  小编结语:

  以上的编程语言教程,主要向大家介绍一下如何处理NHibernate源码的异常情况。如果大家有兴趣的话,记得要跟着小编一起学习哟。课课家会一直更新关于编程语言的教程,请继续关注我们的网站:课课家教育。谢谢!

赞(25)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程