亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java 如何優(yōu)雅的拋出業(yè)務(wù)異常

 更新時(shí)間:2020年12月24日 11:28:51   作者:kemir_天明  
這篇文章主要介紹了Java 如何優(yōu)雅的拋出業(yè)務(wù)異常,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下

  記得上學(xué)的時(shí)候?qū)W習(xí)英語,每個(gè)英語老師說到英語翻譯的時(shí)候都會(huì)說英語翻譯要做到“信、達(dá)、雅”。如今做了一名程序員竟然體會(huì)我還是想用這三種境界來要求自己,恰逢自己現(xiàn)在所做之項(xiàng)目偏業(yè)務(wù),代碼的優(yōu)雅顯得格外重要。所以我就想寫點(diǎn)這方面的東西,今天就先來說說如何優(yōu)雅的拋出業(yè)務(wù)異常。代碼千千萬,只希望對(duì)自己和對(duì)大家有所幫助。

  針對(duì)java開發(fā)者而言,異常的重要性不言而喻,這里也不再贅述。今天主要說說在業(yè)務(wù)中利用異常處理機(jī)制來實(shí)現(xiàn)業(yè)務(wù)異常的優(yōu)雅提示。

首先,我們定義一個(gè)異常編碼接口

 public interface IErrorCode {
   public String value();
 }

重點(diǎn)來了,我們?nèi)?shí)現(xiàn)這個(gè)接口

import java.util.EnumMap;

import com.test.IErrorCode;

public enum MyBusinessErrorCode implements IErrorCode {

  /**
   * 角色不存在或已被刪除
   */
  ERR_MODEL_001,
  /**
   * 角色編碼已存在
   */
  ERR_MODEL_002;

  private static EnumMap<MyBusinessErrorCode, String> errorCodeMap = new EnumMap<MyBusinessErrorCode, String>(
      MyBusinessErrorCode.class);

  static {
    errorCodeMap.put(ERR_MODEL_001, "角色不存在!");
    errorCodeMap.put(ERR_MODEL_002, "角色編碼已存在!");
  }

  public String value() {
    return errorCodeMap.get(this);
  }
}

下面我們來說說這段代碼好在哪里,

  • 統(tǒng)一定義異常提示,易于維護(hù),易于國際化配置化。
  • 采用枚舉Map運(yùn)行效率更高。
  • 代碼邏輯清晰,更容易上手,更容易統(tǒng)一風(fēng)格。

那么如何在代碼中去使用呢?

首先,創(chuàng)建一個(gè)創(chuàng)建異常的工具類

public class ExceptionUtil {

  /**
   * 獲取業(yè)務(wù)異常類
   */
  public static BusinessException CreateBusinessException(
      IErrorCode code) {
    return new BusinessException(code);
  }

  /**
   * 獲取帶數(shù)據(jù)格式化的業(yè)務(wù)異常類
   *
   * @param code
   */
  public static BusinessException CreateFormatedBusinessException(BusinessErrorCode code, Object ... object){
    String str = code.value();
    str = String.format(str, object);
    return new BusinessException(code.name(), str, "");
  }

}

在對(duì)應(yīng)的業(yè)務(wù)方法捕獲并處理異常

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date;
    try {
      // 申請(qǐng)時(shí)間
      date = sdf.parse(form.getApplyDateView());
    } catch (ParseException e) {
      throw ExceptionUtil.CreateBusinessException(MyBusinessErrorCode.ERR_RBM_005);
    }

至此,業(yè)務(wù)異常就得到了優(yōu)雅的處理。

以上就是Java 如何優(yōu)雅的拋出業(yè)務(wù)異常的詳細(xì)內(nèi)容,更多關(guān)于java 拋出業(yè)務(wù)異常的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Myeclipse 2016下Aptana安裝教程

    Myeclipse 2016下Aptana安裝教程

    這篇文章主要為大家詳細(xì)介紹了Myeclipse 2016下Aptana安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 消息隊(duì)列 RabbitMQ 與 Spring 整合使用的實(shí)例代碼

    消息隊(duì)列 RabbitMQ 與 Spring 整合使用的實(shí)例代碼

    本篇文章主要介紹了消息隊(duì)列 RabbitMQ 與 Spring 整合使用的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Spring中如何獲取request的方法匯總及其線程安全性分析

    Spring中如何獲取request的方法匯總及其線程安全性分析

    這篇文章主要給大家介紹了關(guān)于Spring中如何獲取request的方法匯總及其線程安全性分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)原理與用法詳解

    Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)原理與用法詳解

    這篇文章主要介紹了Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)原理與用法,結(jié)合實(shí)例形式分析了java分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、跳轉(zhuǎn)語句等相關(guān)概念、原理、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • 深入理解Java設(shè)計(jì)模式之備忘錄模式

    深入理解Java設(shè)計(jì)模式之備忘錄模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之備忘錄模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解
    2021-11-11
  • Spring中網(wǎng)絡(luò)請(qǐng)求客戶端WebClient的使用詳解

    Spring中網(wǎng)絡(luò)請(qǐng)求客戶端WebClient的使用詳解

    作為替代,Spring 官方已在 Spring 5 中引入了 WebClient 作為非阻塞式 Reactive HTTP 客戶端,本文將通過樣例演示如何使用 WebClient,希望對(duì)大家有所幫助
    2024-04-04
  • SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置詳解

    SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置詳解

    這篇文章主要介紹了SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • mybatis嵌套循環(huán)map方式(高級(jí)用法)

    mybatis嵌套循環(huán)map方式(高級(jí)用法)

    這篇文章主要介紹了mybatis嵌套循環(huán)map方式(高級(jí)用法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • JNDI,JTA和JMS簡介

    JNDI,JTA和JMS簡介

    這篇文章主要介紹了JNDI,JTA和JMS的相關(guān)內(nèi)容,包括中文釋義,概念解釋等,需要的朋友可以了解下。
    2017-09-09
  • java讀取Excel導(dǎo)入去除空行簡單方法

    java讀取Excel導(dǎo)入去除空行簡單方法

    這篇文章主要給大家介紹了關(guān)于java讀取Excel導(dǎo)入去除空行的簡單方法,在日常開發(fā)中,想必都遇到過批處理的需求,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考下
    2023-07-07

最新評(píng)論