異常處理(自定義異常 不可預知異常)

2021-09-24 09:29:25 字數 1490 閱讀 1963

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...