主要主是將錯誤資訊的錯誤碼及描述資訊儲存到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異常統一處...