异常处理

重点 : 掌握异常处理的三种方式

异常处理的意义

     ·现实: 在项目的开发中,不可避免会遇到各种可预知的、不可预知的异常需要处理

     ·问题: 每个过程如果都单独处理异常,系统的代码耦合度高,工作量大且不好统一

     ·解决方案: 将所有类型的异常处理过程解耦出来,这样就实现了异常处理信息的统一处理和维护,大大降低了维护复杂度

 

异常处理的三种方式

     ·自定义异常处理器 HandlerExceptionResolver   (不是重点,用来理解)

     ·简单异常处理器 SimpleMappingExceptionResolver   (用的非常普遍)

     ·注释实现异常处理 @ExceptionHandler   (太灵活)

 

自定义异常类

  1. 继承RunningTimeException
  2. 提供自定义异常类构造方法
/**
 * 自定义业务异常类
 * @author Administrator
 *
 */
public class BusinessException extends RuntimeException {

	public BusinessException() {
		super();
	}

	public BusinessException(String message, Throwable cause,
			boolean enableSuppression, boolean writableStackTrace) {
		super(message, cause, enableSuppression, writableStackTrace);
	}

	public BusinessException(String message, Throwable cause) {
		super(message, cause);
	}

	public BusinessException(String message) {
		super(message);
	}

	public BusinessException(Throwable cause) {
		super(cause);
	}

}

 

自定义异常处理器

  1. 实现异常处理器接口 HandlerExceptionResolver
  2. 实现异常处理方法 resolveException
  3. 配置文件中添加自定义异常处理机制

           一、实现异常处理器接口创建自定义异常处理器:

           二、在SpringMVC的配置文件中添加配置:

 

简单映射异常处理器

  配置:    SimpleMappingExceptionResolver

 

注解实现异常处理器

  ·使用注解: @ExceptionHandler 标注异常处理方法

 

 

未捕获异常的处理

·未捕获异常如何处理

       如果类型为非强制捕获异常,而代码中没有针对这些意料之外的异常进行处理,那么会产生404,500等服务器内错误页面,这些会带来非常差的用户体验。

      ·为了解决这一问题,不同的应用服务器提供了不同的处理方式:tomcat可以通过配置web.xml配置文件,抓取错误码并返回指定的错误页面

 

三种处理的比较:

异常处理方式        优点     缺点

自定义异常处理器 在代码层进行逻辑处理,理解原理    代码量大

简单映射异常处理器 可扩展性强(项目中较为常用) 配置繁琐

注解式异常处理 配置灵活 只能标注方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值