欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

 public interface IErrorCode {
   public String value();
 }

重點(diǎn)來(lái)了,我們?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);
  }
}

下面我們來(lái)說(shuō)說(shuō)這段代碼好在哪里,

  • 統(tǒng)一定義異常提示,易于維護(hù),易于國(guó)際化配置化。
  • 采用枚舉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)文章

最新評(píng)論