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

首頁 > 學院 > 開發(fā)設計 > 正文

異常處理

2019-11-14 09:48:58
字體:
來源:轉載
供稿:網(wǎng)友
sPRingmvc在處理請求過程中出現(xiàn)異常信息交由異常處理器進行處理,自定義異常處理器可以實現(xiàn)一個系統(tǒng)的異常處理邏輯。   異常處理的思路系統(tǒng)中異常包括兩類:預期異常和運行時異常RuntimeException,前者通過捕獲異常從而獲取異常信息,后者主要通過規(guī)范代碼開發(fā)、測試通過手段減少運行時異常的發(fā)生。系統(tǒng)的dao、service、controller出現(xiàn)都通過throws Exception向上拋出,最后由springmvc前端控制器交由異常處理器進行異常處理,如下圖: springmvc提供全局異常處理器(一個系統(tǒng)只有一個異常處理器)進行統(tǒng)一異常處理自定義異常類為了區(qū)別不同的異常通常根據(jù)異常類型自定義異常類,這里我們創(chuàng)建一個自定義系統(tǒng)異常,如果controller、service、dao拋出此類異常說明是系統(tǒng)預期處理的異常信息。
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;	}}全局異常處理器思路:系統(tǒng)遇到異常,在程序中手動拋出,dao拋給service,service拋給Controller,Controller拋給前端控制器,前端控制器調(diào)用全局異常處理器全局異常處理器處理思路:解析出異常類型如果該異常類型是系統(tǒng)自定義的異常,直接取出異常信息,在錯誤頁面顯示如果該異常類型不是系統(tǒng)自定義的異常,構造一個自定義的異常類型(信息為“未知錯誤“)springmvc提供了一個HandlerExceptionResolver接口
public class CustomExceptionResolver implements HandlerExceptionResolver {	public CustomExceptionResolver() {		// TODO 自動生成的構造函數(shù)存根	}	@Override	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,			Exception exception) {		// TODO 自動生成的方法存根		exception.printStackTrace();		CustomException customException = null;		//如果拋出的是系統(tǒng)自定義異常則直接轉換		if(exception instanceof CustomException){			customException = (CustomException)exception;		}else{			//如果拋出的不是系統(tǒng)自定義異常則重新構造一個未知錯誤異常。			customException = new CustomException("未知錯誤,請與系統(tǒng)管理 員聯(lián)系!");		}		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>您的操作出現(xiàn)錯誤如下:<br/>${message }</body></html>異常處理器配置在springmvc.xml中添加:
<!-- 異常處理器 -->    <bean id="handlerExceptionResolver" class="cn.itcast.ssm.controller.exceptionResolver.CustomExceptionResolver"/>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泊头市| 肇州县| 郴州市| 健康| 宜昌市| 丁青县| 庆阳市| 西城区| 武冈市| 玉树县| 浠水县| 濮阳县| 托里县| 莆田市| 梁山县| 昌宁县| 延安市| 清水河县| 盈江县| 宁海县| 台前县| 花莲市| 贵德县| 安龙县| 耒阳市| 资兴市| 呼图壁县| 北辰区| 三穗县| 准格尔旗| 东乌珠穆沁旗| 太白县| 潜江市| 辽阳县| 商丘市| 阿城市| 天峻县| 项城市| 唐山市| 湖州市| 峨山|