最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

首先,我們定義一個異常編碼接口

 public interface IErrorCode {
   public String value();
 }

重點來了,我們?nèi)崿F(xiàn)這個接口

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)一定義異常提示,易于維護,易于國際化配置化。
  • 采用枚舉Map運行效率更高。
  • 代碼邏輯清晰,更容易上手,更容易統(tǒng)一風格。

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

首先,創(chuàng)建一個創(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, "");
  }

}

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

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

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

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

相關(guān)文章

  • Java Web開發(fā)防止多用戶重復(fù)登錄的完美解決方案

    Java Web開發(fā)防止多用戶重復(fù)登錄的完美解決方案

    在web項目開發(fā)中,很多情況下都可以讓同一個賬號信息在不同的登錄入口登錄很多次,這樣子做的不是很完善。一般解決這種情況有兩種解決方案,小編呢主要以第二種方式給大家介紹具體的實現(xiàn)方法,對java web 防止多用戶重復(fù)登錄的解決方案感興趣的朋友一起看看吧
    2016-11-11
  • 使用JavaConfig代替xml實現(xiàn)Spring配置操作

    使用JavaConfig代替xml實現(xiàn)Spring配置操作

    這篇文章主要介紹了使用JavaConfig代替xml實現(xiàn)Spring配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringCloud使用Kafka Streams實現(xiàn)實時數(shù)據(jù)處理

    SpringCloud使用Kafka Streams實現(xiàn)實時數(shù)據(jù)處理

    使用Kafka Streams在Spring Cloud中實現(xiàn)實時數(shù)據(jù)處理可以幫助我們構(gòu)建可擴展、高性能的實時數(shù)據(jù)處理應(yīng)用,Kafka Streams是一個基于Kafka的流處理庫,本文介紹了如何在SpringCloud中使用Kafka Streams實現(xiàn)實時數(shù)據(jù)處理,需要的朋友可以參考下
    2024-07-07
  • Java使用get請求接收List集合數(shù)據(jù)(json)并導(dǎo)出報表問題

    Java使用get請求接收List集合數(shù)據(jù)(json)并導(dǎo)出報表問題

    這篇文章主要介紹了Java使用get請求接收List集合數(shù)據(jù)(json)并導(dǎo)出報表問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • SpringBoot中配置Redis連接池的完整指南

    SpringBoot中配置Redis連接池的完整指南

    這篇文章主要為大家詳細介紹了SpringBoot中配置Redis連接池的完整指南,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • springboot配置resilience4j全過程

    springboot配置resilience4j全過程

    這篇文章主要介紹了springboot配置resilience4j全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 解決springboot運行出現(xiàn)錯誤:找不到或無法加載主類com.xxxx.xxxx.Application問題

    解決springboot運行出現(xiàn)錯誤:找不到或無法加載主類com.xxxx.xxxx.Application問題

    文章介紹了在服務(wù)器上運行一個未使用的Java項目時遇到的“找不到或無法加載主類”錯誤,并提供了兩種解決方法:通過Maven install或build …、Goals輸入install并跳過測試來重新構(gòu)建項目
    2024-11-11
  • JVM系列之:再談java中的safepoint說明

    JVM系列之:再談java中的safepoint說明

    這篇文章主要介紹了JVM系列之:再談java中的safepoint說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Maven的pom.xml文件結(jié)構(gòu)中的build

    Maven的pom.xml文件結(jié)構(gòu)中的build

    本文主要介紹了Maven的pom.xml文件結(jié)構(gòu)中的build,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 詳解java中spring里的三大攔截器

    詳解java中spring里的三大攔截器

    在本篇文章里我們給大家詳細講述了java中spring里的三大攔截器相關(guān)知識點以及用法代碼,需要的朋友們學習下。
    2018-10-10

最新評論

山东| 宜章县| 利津县| 奉新县| 靖安县| 桓台县| 武夷山市| 石城县| 定安县| 苗栗县| 樟树市| 绩溪县| 静乐县| 班戈县| 鄄城县| 江陵县| 景德镇市| 焉耆| 涞水县| 罗定市| 财经| 襄垣县| 红原县| 新巴尔虎左旗| 伊川县| 横山县| 曲周县| 东台市| 三门峡市| 泽普县| 运城市| 金山区| 滁州市| 桓仁| 门头沟区| 浙江省| 旌德县| 深水埗区| 永兴县| 综艺| 克拉玛依市|