时间:2021-05-20
记得上学的时候学习英语,每个英语老师说到英语翻译的时候都会说英语翻译要做到“信、达、雅”。如今做了一名程序员竟然体会我还是想用这三种境界来要求自己,恰逢自己现在所做之项目偏业务,代码的优雅显得格外重要。所以我就想写点这方面的东西,今天就先来说说如何优雅的抛出业务异常。代码千千万,只希望对自己和对大家有所帮助。
针对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); }}下面我们来说说这段代码好在哪里,
那么如何在代码中去使用呢?
首先,创建一个创建异常的工具类
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 抛出业务异常的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
任何Java代码都可以抛出异常,如:自己编写的代码、来自Java开发环境包中代码,或者Java运行时系统。无论是谁,都可以通过Java的throw语句抛出异常。
我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其
java中的异常涉及到父子类的问题,可以归纳为一句话:子类的构造函数抛出的异常必须包含父类的异常,子类的方法可以选择抛出“范围小于等于”父类的异常或不抛出异常。
前言有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义异常只能由自己抛出。python解释器是不知道用
前言我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这是因为的Java提供了一个“捕获”异常的的处理器(处理器)对异常情况进行处理