java报错异常时怎么抛出的_Java 如何优雅的抛出业务异常

记得上学的时候学习英语,每个英语老师说到英语翻译的时候都会说英语翻译要做到“信、达、雅”。如今做了一名程序员竟然体会我还是想用这三种境界来要求自己,恰逢自己现在所做之项目偏业务,代码的优雅显得格外重要。所以我就想写点这方面的东西,今天就先来说说如何优雅的抛出业务异常。代码千千万,只希望对自己和对大家有所帮助。

针对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 errorCodeMap = new EnumMap(

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 如何优雅的抛出业务异常的详细内容,更多关于java 抛出业务异常的资料请关注脚本之家其它相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值