项目开发(异常处理流程)

采用的是SpringMVC中的统一异常处理机制

编写异常类

异常分为Exception分为检查型异常 和非检查型异常,这里通过继承Exception的类属于非检查型异常

package com.fdd.exception;

public class MyException extends Exception {

	private static final long serialVersionUID = -7419400618793645414L;
	public MyException() {
        super();
    }
    public MyException(String message) {
        super(message);
    }
	public MyException(String message, Throwable cause,
			boolean enableSuppression, boolean writableStackTrace) {
		super(message, cause, enableSuppression, writableStackTrace);
	}
	public MyException(String message, Throwable cause) {
		super(message, cause);
	}

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

SpringMVC的配置文件中进行相关配置

在SpringMVC中进行异常处理有三种方式,我暂时选择了配置SimpleMappingExceptionResolver的方式。

https://www.cnblogs.com/sunhaoyu/articles/5307496.html 详细介绍了三种异常处理的方式

个人认为使用实现HandlerExceptionResolver接口的方式更加灵活与清晰

<!-- 配置全局异常处理 -->
	<bean id="exceptionResolver"
		class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<!-- 定义默认的异常处理页面,当该异常类型的注册时使用 -->
		<property name="defaultErrorView" value="exception"></property>
		
		<!-- 定义异常处理页面用来获取异常信息的变量名,默认名为exception -->
		<property name="exceptionAttribute" value="ex"></property>
		<!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常也页名作为值 -->
		<property name="exceptionMappings">
			<props>
				<prop key="com.fdd.exception.MyException">MyException</prop>
			</props>
		</property>
		<!-- 表示在发生myException时返回视图myException,然后这里定义发生异常时视图myException对应的HttpServletResponse的返回码是600 -->
		<property name="statusCodes"><!-- 定义在发生异常时视图跟返回码的对应关系 -->
            <props>
                <prop key="MyException">600</prop>
            </props>
        </property>
        <property name="defaultStatusCode" value="404"/><!-- 表示在发生异常时默认的HttpServletResponse的返回码是多少,默认是200 -->
	</bean>

另一类异常处理是在项目的web.xml中进行配置

	<welcome-file-list>
		<welcome-file>/index.jsp</welcome-file>
	</welcome-file-list>
	<error-page>
		<error-code>404</error-code>
		<location>/404.jsp</location>
	</error-page>

猜你喜欢

转载自blog.csdn.net/yaoyaowudi123/article/details/81747509