Spring異常處理方案

2021-08-21 04:53:20 字數 2219 閱讀 3242

主要主是將錯誤資訊的錯誤碼及描述資訊儲存到properties檔案中,然後提供工具類來讀取這些錯誤資訊並建立restexception。

涉及的類圖如下:

# 角色

role.exists=s04m001,角色名稱已存在

role.not

.exists=s04m002,角色({})不存在

# 使用者

user.username

.not

.exits=s05m001,使用者名稱({})不存在

user.username

.exists=s05m002,使用者名稱已存在

user.id

.not

.exists=s05m003,指定編號({})的使用者不存在

user.status

.not

.locked=s05m004,使用者狀態不是鎖定狀態,不需要解鎖

user.status

.not

user.admin

.cannot

.beunregisted=s05m006,管理員不能被註解

public

enum errorcodes

public string geterrorname()

}

public

class

restexception

extends

exception

restexception(string code, string message, throwable t)

public string getcode()

public restexception setcode(string code)

@override

public string getmessage()

public restexception setmessage(string message)

public throwable gett()

public restexception sett(throwable t)

}

public

class

exceptiontool

public

static

void

init() throws ioexception );

}/**

* 根據異常名稱獲取異常資訊

**@return

*/public

static restexception getexception(errorcodes errorcodes, object...parameters) "))

message = message.replacefirst("\\", obj.tostring());}}

return

new restexception(errorinfo.code, message);

}public

static restexception getexception(throwable t, errorcodes errorcodes, object...parameters)

private

static

class

errorinfo

public

static

void

main(string args) throws ioexception

}

user user = userdao.findbyusername(username);

if (null == user)

throw exceptiontool.getexception(exception, errorcodes.user_username_not_exists, username);  

// 或者不帶引數:throw exceptiontool.getexception(exception, errorcodes.user_username_not_exists)

Spring 異常處理

今天在做專案的時候突然發現異常處理還有所欠缺,所有打算好好的加強一下異常的處理,順便好好鞏固以前學習的知識和增加新的知識。實現spring介面 handlerexceptionresolver public class exceptionresolver implements handlerexce...

spring異常處理

spring提供了多種方式將異常轉化為響應 1.內建的將以異常轉換為http碼就不說了,由spring自身丟擲,然後產生對應的http狀態碼響應。2.下例子用 responsestatus註解將myexception異常對映為http狀態碼404。沒有找到 public class myexcept...

Spring 處理異常

目錄 1.簡介 2.spring自身異常自動對映為指定http狀態碼 3.使用 responsestatus將自定義異常對映為指定http狀態碼 4.基於控制器處理異常 exceptionhandler 5.全域性異常處理 controlleradvice 推薦 參考 spring mvc異常統一處...