国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

異常處理

2019-11-14 09:55:17
字體:
來源:轉載
供稿:網友
sPRingmvc在處理請求過程中出現異常信息交由異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。   異常處理的思路系統中異常包括兩類:預期異常和運行時異常RuntimeException,前者通過捕獲異常從而獲取異常信息,后者主要通過規范代碼開發、測試通過手段減少運行時異常的發生。系統的dao、service、controller出現都通過throws Exception向上拋出,最后由springmvc前端控制器交由異常處理器進行異常處理,如下圖: springmvc提供全局異常處理器(一個系統只有一個異常處理器)進行統一異常處理自定義異常類為了區別不同的異常通常根據異常類型自定義異常類,這里我們創建一個自定義系統異常,如果controller、service、dao拋出此類異常說明是系統預期處理的異常信息。
public class CustomException extends Exception {	public CustomException(String message) {		super(message);		this.message = message;	}	// 異常信息	private String message;	public String getMessage() {		return message;	}	public void setMessage(String message) {		this.message = message;	}}全局異常處理器思路:系統遇到異常,在程序中手動拋出,dao拋給service,service拋給Controller,Controller拋給前端控制器,前端控制器調用全局異常處理器全局異常處理器處理思路:解析出異常類型如果該異常類型是系統自定義的異常,直接取出異常信息,在錯誤頁面顯示如果該異常類型不是系統自定義的異常,構造一個自定義的異常類型(信息為“未知錯誤“)springmvc提供了一個HandlerExceptionResolver接口
public class CustomExceptionResolver implements HandlerExceptionResolver {	public CustomExceptionResolver() {		// TODO 自動生成的構造函數存根	}	@Override	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,			Exception exception) {		// TODO 自動生成的方法存根		exception.printStackTrace();		CustomException customException = null;		//如果拋出的是系統自定義異常則直接轉換		if(exception instanceof CustomException){			customException = (CustomException)exception;		}else{			//如果拋出的不是系統自定義異常則重新構造一個未知錯誤異常。			customException = new CustomException("未知錯誤,請與系統管理 員聯系!");		}		ModelAndView modelAndView = new ModelAndView();		modelAndView.addObject("message", customException.getMessage());		modelAndView.setViewName("error");		return modelAndView;	}}jsp錯誤頁面
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>錯誤頁面</title></head><body>您的操作出現錯誤如下:<br/>${message }</body></html>異常處理器配置在springmvc.xml中添加:
<!-- 異常處理器 -->    <bean id="handlerExceptionResolver" class="cn.itcast.ssm.controller.exceptionResolver.CustomExceptionResolver"/>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 秦皇岛市| 亚东县| 温宿县| 崇文区| 鸡西市| 饶阳县| 通辽市| 改则县| 团风县| 红安县| 大庆市| 高密市| 白玉县| 崇州市| 平凉市| 娱乐| 同心县| 碌曲县| 拉萨市| 绿春县| 德昌县| 郯城县| 平顺县| 连平县| 东山县| 芒康县| 舟山市| 祁连县| 洪洞县| 万山特区| 百色市| 安康市| 磴口县| 阿瓦提县| 朔州市| 类乌齐县| 桦南县| 东莞市| 天全县| 安多县| 扶绥县|