这篇文章给大家介绍怎么在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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。