iTreasury中的异常处理

 1.关于异常

java.lang.Throwable是所有异常的父类,其直接子类分为Error, Exception

Error用来表示编译时和系统错误

Exception可以分为RuntimeException(unchecked Excetption)和非运行时异常。除了RuntimeException,其他的异常都是checked exception )

前者不需要coder手动的捕获或者抛出。例如NullPointerExcepion,你不需要每次使用一个对象时都要判断他是否为null。如果RuntimeException没有被捕获,那么程序会在到达main()函数,在程序退出前,自动调用异常的printStackTrace()方法。

例:

 

 

当然,运行时异常也可以在try catch中捕获。 

 

如果需要在异常后继续执行后面的程序。则需要使用try,但是在try内的发生异常后的代码不会被执行。例:

 

 

总结:

       对未检查的异常(unchecked exception )的几种处理方式:
        1、捕获
        2、继续抛出
        3、不处理
        对检查的异常(checked exception,除了RuntimeException,其他的异常都是checked exception )的几种处理方式:
        1、继续抛出,消极的方法,一直可以抛到java虚拟机来处理
        2、用try...catch捕获
        注意,对于检查的异常必须处理,或者必须捕获或者必须抛出

 

2.iTreasury的异常处理

 

step1:一般如果抛出一般异常的话,直接new IException(msg);其中msg可以是自己定义的页面错误提示信息,也可以使用"Bill_E013"之类地

 

如果需要在EJB中抛出IRollbackException的话,需要先获得SessionContext。在声明IRollbackException的函数中,会调用SessionContext.setRollbackOnly()。手动回滚事务

 

 step2:

一直在C页面接受到异常。然后在catch页面中这样写

把exp放在session中。

 

step3:

转到V页面后动态引用<jsp:include page="/ShowMessage.jsp"/>

ShowMessage.jsp输出保存的collection的所有异常的msg,然后alert出来。

随机调用  messages.clear();立即清除Collection。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值