本帖最后由 guotuoniao 于 2009-07-24 14:32:26 编辑

解决方案 »

  1.   

    肯定是捕捉了,这是 dao 层的职责各种操作包起来放在一个块里不好。
    该捕捉的时候捕捉,不该捕捉的时候,乱捕捉才会影响性能
      

  2.   

    看需求,怎么不想想,dao层的异常都已经是底层了,出的错了也是严重的错误,所以一般是把异常向上抛
      

  3.   

     try..catch是不会影响性能的。影不影响只是看你在catch之后的处理上消不消耗时间。你要写一个健壮性强的程序,一定是需要异常捕捉的。
    try { 
              insert(); 
              update(); 
              selete(); 
              delete(); 
      }catch (Exception ex) { 
      //异常处理 
      }
    这样写法当然没问题,但是一个web应用最最基本的是你不能让用户在页面上看到exception的信息,而且你要在日志里可以明确知道自己的代码出了什么异常。如果你把多个方法放在一起捕捉的,你最好自己写一个异常处理的方法,用来匹配异常类型。
    如 dellException(Exception e){
       if (e instanceof NullPointerException){.log.error()....怎样怎样...}
       if (e instanceof ClassCastException){.log.error()....怎样怎样...}}
    然后在catch块里调用这个方法
      

  4.   

    影响肯定是有的。但是你不得不用啊
    不过你可以写个总的异常处理类,在每个方法中你都抛出异常。让最后调用的去处理。你可以看servlet执行过程,就可以知道谁最后调用了方法。