您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章给大家介绍怎么在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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。