springMVC异常处理

springMVC为我们提供了简单的异常处理方式,这样我们在项目中对一些不必要处理异常直接抛出,并且还可以知道是什么异常

首先定义一个自定义异常,也可以不创建,直接使用jdk异常

public class BusinessException extends Exception {

    public BusinessException() {
        super("业务异常");
    }

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

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

    /**
     * 创建异常
     * @param logger
     * @param message
     * @return
     */
    public static Exception create(Logger logger, String message) {
        logger.error(message);
        return new BusinessException(message);
    }

    /**
     * 创建异常
     * @param logger
     * @param message
     * @param cause
     * @return
     */
    public static Exception create(Logger logger, String message, Throwable cause){
        logger.error(message);
        return new BusinessException(message, cause);
    }

    /**
     * 判断是否为true
     * @param expression
     * @param logger
     * @param message
     * @throws Exception
     */
    public static void checkTrue(boolean expression, Logger logger, String message) throws Exception {
        if (expression) {
            throw create(logger,message);
        }
    }
}
定义一个业务异常,然后在mvc配置文件中添加

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
   <property name="defaultErrorView" value="error/error"/>
   <property name="exceptionAttribute" value="ex"/>
   <property name="exceptionMappings">
      <props>
         <prop key="com.tc.itfarm.api.exception.BusinessException">error/error</prop>
      </props>
   </property>
   
   <property name="warnLogCategory" value="WARN"/>
   <property name="defaultStatusCode" value="500"/>
</bean>
defaultErrorView:出现错误异常时默认跳转的页面
exceptionAttribute:定义异常处理页面用来获取异常信息的变量名,默认名为exception
exceptionMappings:需要特殊处理的异常类
warnLogCategory:警告日志类别
defaultStatusCode:默认的错误代码
新建一个Action添加方法

@RequestMapping("testException")
public void testException() throws BusinessException {
    throw new BusinessException();
}
启动,输入地址,则会自动跳到error页面

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值