用枚举来处理java自定义异常
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1、先创建一个接口,里面提供两个方法,一个是getErrorCode, 一个是getErrorMessage,如:
public interface IErrorCode {
public String getErrorCode();
public String getErrorMessage();
}
2、创建一个枚举,实现IErrorCode里的方法
public enum SysErrorEnums implements IErrorCode {
/**参数为空*/
EMPTY_PARAME("A11002","参数为空"),
/**参数错误*/
ERROR_PARAME("A11002","参数错误");
private String errorCode;
private String errorMessage;
private SysErrorEnums(String errorCode, String errorMessage) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}
3、定义一个自定义的异常类
public class BusinessException extends RuntimeException {
private static final long serialVersionUID = 1L;
private IErrorCode iErrorCode;
private String errorCode;
private String errorMessage;
private Map<String, Object> errorData;
public BusinessException(IErrorCode iErrorCode) {
super();
this.iErrorCode = iErrorCode;
this.errorCode = iErrorCode.getErrorCode();
this.errorMessage = iErrorCode.getErrorMessage();
}
//其他get、set、构造方法
}
4、代码中抛异常
if(true){
throw new BusinessException(SysErrorEnums.EMPTY_OBJ);
}
5、可以通过异常拦截器来拦截错误,获取错误后统一格式输出;
这样做的好处是可以高度统一所有异常返回的code及message, 如果需要更改提示信息或代号,只需更改SysErrorEnums即可,并且可以自行添加多个异常枚举文件来分别对应不同的模板异常信息。代码结构简单,清淅。
用枚举来处理java自定义异常的更多相关文章
- Android Java 自定义异常
1.自定义异常 package com; public class ZeroException extends Exception { private static final long serial ...
- 【知了堂学习笔记】java 自定义异常
java 常见异常种类(Java Exception): 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCas ...
- java 自定义异常的回顾
一.异常的分类: 1.编译时异常:编译时被检测的异常 (throw后,方法有能力处理就try-catch处理,没能力处理就必须throws).编译不通过,检查语法(其实就是throw和throws的配 ...
- Java 自定义异常(转载)
1.异常的分类 1. 非运行时异常(Checked Exception) Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常. 2. 运行时异常(R ...
- Java 自定义异常
新建类CustomException继承 Exception /** * Create by on 2019-07-30 * 自定义类需要继承Exception * @author lsw */ pu ...
- Java自定义异常类的简单实现
学习目标: 掌握自定义异常类 例题: 需求:自定义异常类,简单判断是否注册成功 代码如下: RegisterException类: /** * @author YanYang * @projectNa ...
- JAVA自定义异常
创建自定义异常是为了表示应用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义. 可区分代码运行时可能出现的相似问题的一个或多个错误,或给出应用程序中一组错误的特定含义. //自定义异常类需 ...
- Java自定义异常类
用户可以根据自己的需要定义自己的异常类,定义异常类只需要继承Exception类即可 //================================================= // Fi ...
- Java自定义异常类以及异常拦截器
自定义异常类不难,但下面这个方法,它的核心是异常拦截器类. 就算是在分布式系统间进行传递也可以,只要最顶层的服务有这个异常拦截器类(下例是在 springboot 项目中) 1.自定义异常类,继承自 ...
随机推荐
- 二、VueJs 填坑日记之基础项目构建
在上一篇文章中,大致介绍了一下本系列博文以及学习vuejs我们需要了解的一些概念,希望大家认真阅读,所谓知己知彼,百战百胜,学习也一样,工欲善其事,必先利其器,要想学好vuejs,那前提的概念一定要熟 ...
- Json字符串解析原理、超大json对象的解析
概述 附上完整的代码:https://pan.baidu.com/s/1dEDmGz3(入口类是Json)JSON:JavaScript 对象表示法(JavaScript Object Notatio ...
- Python基础---python中的异常处理
Python中的异常处理 一.什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...
- Struts2初探
我记得美妙的瞬间:在我的面前出现了你,有如昙花一现的幻影 今天写一篇Struts2框架的,在很久很久以前,Struts2可谓是称霸江湖,纵然现在有后起之秀,但Struts2依然可以成为老牌的主流框架, ...
- ButterKnife的使用以及不能自动生成代码问题的解决
ButterKnife的使用以及不能自动生成代码问题的解决 转载请注明出处:http://www.cnblogs.com/zhengjunfei/p/5910497.html 最近换了个工作刚入职,又 ...
- bootstrap栅格布局学习历程
了解一个东西.他叫什么?他由什么组成,能做什么? 现在响应式的网站(在不同分辨率下有不同的布局)很瘦欢迎.优点:1.解决设备之间的差异化展示缺点:a.兼容性代码多,工作量大,加载速度受到影响;b.用户 ...
- Ambari概览
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/7886195.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...
- TensorFlow简易学习[3]:实现神经网络
TensorFlow本身是分布式机器学习框架,所以是基于深度学习的,前一篇TensorFlow简易学习[2]:实现线性回归对只一般算法的举例只是为说明TensorFlow的广泛性.本文将通过示例Ten ...
- RecyclerView 加入一个滑动控件bug处理 GridView只显示第一行
如果RecyclerView 多样式布局,比如要加入一个展示多个图看的需求.自然想到用gridview给嵌套一下. 想法当然是可以的,但是发现,嵌套出来的效果是,gridview只显示一行. 想想原因 ...
- python学习笔记 tuple
1. ()去声明.与list类似,但是其元素不能改变. 2. 需要注意的是1中的不能改变是指()中的元素不能改变,如果其元素是一个list,那么list中的元素是可以改变的,不论是大小还是其他的. 3 ...