1.对一个需要提供稳定、高质量的WEB系统而言, 对整个WEB程序的入口、出口的异常处理都需要做封装。 2.Logic、DAO可以根据需要,向上层抛出相应的Exception, 而这些Exception都必须在Action截住,也就是封装起来,向View返回一个合适的信息。 3.发生异常之后,返回到View的信息,可以是给人看得HTML也可以是给JavaScript看的JSON, 所以,普通页面的异常,可以显示错误页面;Ajax发生的异常,可以返回一个包容错误信息的JSON,让Ajax显示出来。 4.很多异常处理是在设计阶段就可以预见的,不要用Spring的AOP拦截,这样会对系统性能操成恶性的影响。 可以做一个BaseAction,把共通的处理写在里面。 5.具体的,抛出、捕获什么样的异常信息,根据系统实际处理内容确定。 根据不同的异常,可以让接收方程序作相应的处理——不局限于错误处理。