2007-1-5 星期五

看编程思想的异常处理这一章,Throwable是所有异常的基类,Error和Exception分别继承了Throwable,Error是虚拟机运行报告错误,一般我们不用关心,Exception 是所有编程异常的基类,它又分为被检查异常和不检查异常,不检查异常是所有继承于RuntimeException的异常,这些异常编译器在编译时不进行检查,也就是不用有异常声明,遇到错误会自动抛出,被检查异常时除RuntimeException的异常,必须有异常声明,编程思想里面的说法好像大家对强制异常声明不是很赞同,理由没能理解深刻,都是大师们说的话,哈哈。咱还不够那个级别。

    其中有这样一个问题,就是一个方法有一个异常必须作处理,可又不知道该如何处理,这里有个办法就是在catch里面将其转换成运行时异常RuntimeException,这样就不用异常声明了。

 

    哈哈,刚刚看了异常处理这一章,今天就用上了,编好了一段hibernate的代码,测试就是没有结果输出,并且没有异常出现,真是让人恼火,找阿找阿找,最后发现在初始化SessionFactory的静态语句块中虽然用了try…catch语句但是在catch里面只是将异常抛出,而在跳用这段代码的时候,并没有获取这个异常,所以造成异常丢失。

 

另外,错误的原因是虚拟机找不到一个属性的get方法,换了个名字就好了,注意命名规则,一个小写字母然后接一个大写字母就不行,像这样sLive。注意/。

 

在执行Hibernate程序中出现下面错误

Could not read mappings from resource: DepartmentTwo.hbm.xml

检查也没错阿,找不到的文件老老实实在那呆着了阿,仔细检查异常信息,发现下面还有这么一句。

org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.hwebmapping.pojo.Department

原来一个持久类不能多次被映射,所以才出现这样的异常,原因是在做练习的时候为了省事,将原来做好的持久类想接着用一下,没想到Hibernate有意见,哈哈。

 

如果在调用session.save()方法的时候如果传入的对象所的类没有被映射,就会出现线面的异常信息。

uninitialized proxy passed to save()

未初始化的代理

 

不错,今天收获不小,哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值