這篇文章給大家介紹怎么在Java項目中拋出業務異常,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
首先,我們定義一個異常編碼接口
public interface IErrorCode { public String value(); }
重點來了,我們去實現這個接口
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); } }
下面我們來說說這段代碼好在哪里,
統一定義異常提示,易于維護,易于國際化配置化。
采用枚舉Map運行效率更高。
代碼邏輯清晰,更容易上手,更容易統一風格。
那么如何在代碼中去使用呢?
首先,創建一個創建異常的工具類
public class ExceptionUtil { /** * 獲取業務異常類 */ public static BusinessException CreateBusinessException( IErrorCode code) { return new BusinessException(code); } /** * 獲取帶數據格式化的業務異常類 * * @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, ""); } }
在對應的業務方法捕獲并處理異常
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); }
關于怎么在Java項目中拋出業務異常就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。