自定義異常及枚舉類使用

自定義異常

理解error、RuntimeException(運行時,虛擬機報的錯)和非RuntimeException(編譯時,編譯器找出的錯)
????1.java中異常均繼承自Throwable,其有兩個重要的直接子類error與exception.
????2.java錯誤error,大部分是由虛擬機爆出來的錯誤,是程序無法處理的錯誤,如OutOfMemoryError,當JVM需要更多內存空間而得不到滿足時,就會爆出OutOfMemoryError。
????3.Exception,異常,其下分類很多,如可查異常與不可查異常,運行時異常與非運行時異常,基本概念一樣,只是說法不同罷了。其有個重要的子類即RuntimeException運行時異常,其它直接子類都歸為非RuntimeException,如IOException,SQLException等。
????????a.非RuntimeException是在代碼書寫時,編譯器給你檢查提示你要進行try catch或throws處理。
????????b.RuntimeException,編譯器不會幫你自動檢查,當你運行程序時,虛擬機才會給你爆出錯誤讓你去處理,這個往往是我們編碼邏輯或不規范導致的


20160827100639473.png

自定義異常,步驟,三步走
????1.繼承RuntimeException
????2.重載構造函數
????3.重寫方法
比如:
public class SellException extends RuntimeException{
1.繼承RuntimeException
????private Integer code; //異常碼,類似于狀態碼,前端根據code作相應處理
????public SellException(ResultEnum resultEnum) {2.重載構造函數
????????super(resultEnum.getMessage());
????????this.code = resultEnum.getCode();
}
???? public SellException(Integer code, String message) {
????????super(message);
????????this.code = code;
}
}
用法:throw new SellException(ResultEnum.PRODUCT_NOT_EXSIT);

使用枚舉對象封裝常量

枚舉對象為enum類型,
步驟
????1.創建構造函數,參數為常量值和常量含義
????2.創建枚舉對象
@Getter
public enum OrderStatusEnum implements CodeEnum {
????NEW(0, "新訂單"),
????FINISHED(1, "完結"),
????CANCEL(2, "已取消"),
;
????private Integer code;
????private String message;

????OrderStatusEnum(Integer code, String message) {
????????this.code = code;
????????this.message = message;
????}
}

使用框架要注意版本

????在使用spring data jpa時,發現只有 <S extends T> S findOne(Example<S> var1);沒有入參為String/Integer的API,后來排查發現是版本問題,當下使用的是2點幾的版本,應該使用 <version>1.5.3.RELEASE</version>
改用版本后,發現了API:T findOne(ID var1);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,443評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,530評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,407評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,981評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,759評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,204評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,263評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,415評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,955評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,650評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,892評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,675評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,967評論 2 374

推薦閱讀更多精彩內容

  • @編寫時頭部:例: property copyright "牛在匯上飛" 其中: // 表示后面是預處理語句。 ...
    牛在匯上飛閱讀 2,386評論 0 2
  • 文本郵件的發送 1.郵件發送流程 ? 郵件的發送是主動行為:主要通過 MUA/郵件客戶端軟件,將郵件內容發送給對應...
    YiFoErLiu閱讀 245評論 0 1
  • App測試點: 1、 安裝查看在安裝過程中存在的提示信息是否明確,意思是否明確在安裝過程中,點擊取消按鈕,能否...
    理智_b3b0閱讀 1,340評論 2 5
  • 記得初上大學時,聯絡感情還給靠書信。雖然有電話,但一棟宿舍樓就一部電話,常常守宿舍的大爺在樓下喊:“502,某某有...
    一個一個艾球球閱讀 2,698評論 4 4
  • 手麻是什么原因? 很多人都不知道手麻是什么原因: 一,【麻】:表明氣能過來,而血過不來。 二,【木】:麻的厲害了,...
    正心正德閱讀 171評論 0 0