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<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 如何优雅的抛出业务异常的详细内容,更多关于java 抛出业务异常的资料请关注脚本之家其它相关文章!
相关文章
SpringCloud使用Kafka Streams实现实时数据处理
使用Kafka Streams在Spring Cloud中实现实时数据处理可以帮助我们构建可扩展、高性能的实时数据处理应用,Kafka Streams是一个基于Kafka的流处理库,本文介绍了如何在SpringCloud中使用Kafka Streams实现实时数据处理,需要的朋友可以参考下2024-07-07
Java使用get请求接收List集合数据(json)并导出报表问题
这篇文章主要介绍了Java使用get请求接收List集合数据(json)并导出报表问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11
解决springboot运行出现错误:找不到或无法加载主类com.xxxx.xxxx.Application问题
文章介绍了在服务器上运行一个未使用的Java项目时遇到的“找不到或无法加载主类”错误,并提供了两种解决方法:通过Maven install或build …、Goals输入install并跳过测试来重新构建项目2024-11-11


最新评论