1.1 xxDao–interface–throws Exception Dao层接口直接抛出异常,这样会将数据库操作中的异常抛出以便处理 2.1xxxBo–interface–throws Exception Bo接口抛出自定义异常,为了在实现类中抛出自定义异常(不太清楚为什么要自定义异常) 3.1xxxBoImpl–class–try()catch{}–throws Exception 实现类中抛出异常,公司架构中如此个人认为,应该在此处打印异常栈,调试时可以直接定位异常位置.并且向上将此异常抛出.以便在action处理异常显示给用户一个友好界面(不try()catch{}也行,直接向上抛出在action处理,懵…) 4.1 xxxAction–class–try()catch{}/throws Exception 此处个认为不必抛出异常,可以直接在此处处理后返回给用户即可 总结: 为什么要抛出自定义异常,boImpl问什么要抛出自定义异常,action抛给虚拟机为什么???啊晕…
续1:今天遇到一个有意思的写法,大概意思是方法返回void但是方法中出现大量throw new ServiceException(xxx);觉得挺新颖的,替代了返回值处理,把要给客户界面的信息封装到自定义异常中然后抛到action中然后直接返给客户.个人觉得应该会浪费性能吧.毕竟执行了多余异常处理线程,原线程也并未结束.