1、在controller、service、dao中程式設計師拋出自定義異常;
springmvc框架丟擲框架異常型別;
springmvc框架和第三方元件丟擲不可預知異常。
2、統一由異常捕獲類捕獲異常,並進行處理
3、捕獲到自定義異常則直接取出錯誤**及錯誤資訊,響應給使用者。
4、捕獲到非自定義異常型別首先從map中找該異常型別是否對應具體的錯誤**,如果有則取出錯誤**和錯誤 資訊並響應給使用者,如果從map中找不到異常型別所對應的錯誤**則統一為99999錯誤**並響應給使用者。
5、將錯誤**及錯誤資訊以json格式響應給使用者
public class customexception extends runtimeexception
public resultcode getresultcode()
}
public class exceptioncast
}
if(cmspage1!=null)
在springboot的啟動類中新增
@componentscan(basepackages="")//掃瞄common工程下的類
/**
* 統一異常捕獲類
**/@controlleradvice//控制器增強
public class exceptioncatch ",customexception.getmessage());
resultcode resultcode = customexception.getresultcode();
return new responseresult(resultcode);
}
捕獲自定義異常
//捕獲exception此類異常
@exceptionhandler(exception.class)
@responsebody
public responseresult exception(exception exception)",exception.getmessage());
if(exceptions == null)
//從exceptions中找異常型別所對應的錯誤**,如果找到了將錯誤**響應給使用者,如果找不到給使用者響應99999異常
resultcode resultcode = exceptions.get(exception.getclass());
if(resultcode !=null)else
}
存入map
static
}
異常處理 自定義異常
異常 1.定義 執行時檢測到的錯誤。2.現象 當異常發生時,程式不會再向下執行,而轉到函式的呼叫語句。3.常見異常型別 名稱異常 nameerror 變數未定義。型別異常 typeerror 不同型別資料進行運算。索引異常 indexerror 超出索引範圍。屬性異常 attributeerror ...
可預知的異常處理和不可預知的異常處理
1 自定義異常型別。2 自定義錯誤 及錯誤資訊。3 對於可預知的異常由程式設計師在 中主動丟擲,由springmvc統一捕獲。可預知異常是程式設計師在 中手動丟擲本系統定義的特定異常型別,由於是程式設計師丟擲的異常,通常異常資訊比較齊全,程式設計師在丟擲時會指定錯誤 及錯誤資訊,獲取異常資訊也比較方...
Servlet 異常處理 自定義異常
自定義異常 碰到異常時,如果只是logger.error一下,沒有處理的話,錯誤很難定位 前台頁面中會出現一些由這個異常引起的其他的錯誤資訊 當然logger都不打的話就 了。一般處理異常是丟擲乙個自定義異常 繼承與runtimeexception 當然如果沒有自定義異常的話,丟擲runtimeex...