java 自定义异常错误编码
前言
书写java代码的时候会用到统一的异常错误编码,这里为大家介绍一下我的自定义异常错误编码。
一、throw
throw
关键字通常用在方法体中,表示抛出一个异常的动作,并且抛出一个异常对象。当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw,它后面的语句就不执行了。
具体使用就是写在方法里,当执行到throw就会抛出异常。
/*** 当前登录人Entity** @return 用户实体类*/public final static UserEntity getCurrentUser() {UserEntity user = (UserEntity) RequestContextUtils.get().getUserObject();if (user == null) {throw new CodeException(ErrorCode.CODE_501);//用户未登陆,请重新登录}return user;}
二、代码
1.错误编码类
可分类自定义错误编码,这样可以统一管理。例如:用户、角色、部门等等。
import java.util.HashMap;
import java.util.Map;/*** 错误编码*/
public class ErrorCode {//代码缓存map信息private static Map<String, CodeMessage> codeMessageMap = new HashMap<String, CodeMessage>();//定义一个代码信息类public static class CodeMessage {private final String code;private final String message;public CodeMessage(String code, String message) {this.code = code;this.message = message;}public String getMessage() {return message;}public String getCode() {return code;}}//添加代码public static void addCode(String code, String message) {codeMessageMap.put(code, new CodeMessage(code, message));//存进代码缓存ma}public static CodeMessage getCodeMessage(String code) {return codeMessageMap.get(code);}//基础public static final String CODE_501 = "501";//用户 public static final String CODE_PHONE_NUMBER_IS_NOT_EXIST = "601";//未找到该手机号码对应的用户!public void init() {//基础this.addCode(ErrorCode.CODE_501, "用户未登陆,请重新登录");//用户this.addCode(ErrorCode.CODE_PHONE_NUMBER_IS_NOT_EXIST, "未找到该手机号码对应的用户");}
}
2.初始化类
启动项目时,同步初始化下就可以了。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.concurrent.Callable;/*** 初始化**/
@Configuration
public class InitConfiguration {private static final Logger logger = LoggerFactory.getLogger(InitConfiguration.class);@Beanpublic Initer initer() {return new Initer();}/*** 初始化** @param initer* @return*/@Beanpublic String init(Initer initer) {initer.registerInit(new Callable() {@Overridepublic Object call() throws Exception {new ErrorCode().init();return null;}});return null;}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。
希望能给大家带来些许灵感。
XH:去发光,而不是被照亮,做些值得未来感谢的事吧。
java 自定义异常错误编码相关推荐
- 【错误记录】生成 Java 文档错误 ( Xxx.java:xx: 错误: 编码GBK的不可映射字符 )
文章目录 一.报错信息 二.解决方案 一.报错信息 使用 javadoc 命令 , 生成 Java 文档 , 报错 ; javadoc Student.java D:\develop\javadoc& ...
- java命令行编译运行遇到java:5: 错误: 编码GBK的不可映射字符 (涓変釜鏋勯?犲嚱鏁?)解决方法
java命令行编译运行遇到java:5: 错误: 编码GBK的不可映射字符 (涓変釜鏋勯?犲嚱鏁?)解决方法 错误原因:使用简单javac 命令编译java文件,如果代码中存在中文,就算是注释有中文的 ...
- 【java】xxxxx.java:5: 错误: 编码 GBK 的不可映射字符_编译问题
1.出现问题 xxxxx.java:5: 错误: 编码 GBK 的不可映射字符 (0x80) System.out.println("璇疯緭鍏ョ涓?涓拰灏氱殑韬珮锛?"); ...
- JAVA:错误: 编码GBK的不可映射字符;错误: 找不到或无法加载主类;
目录 一.编码GBK的不可映射字符: 1.现象 2.解决方法 ANSI:ANSI是什么编码? - malecrab - 博客园 (cnblogs.com) 二.找不到或无法加载主类 一.编码GBK的不 ...
- java:3: 错误: 编码 GBK 的不可映射字符 (0x8E)
1.错误实例 2.java代码 public class Welcome {public static void main(String[] args) {System.out.println(&qu ...
- java错误: 编码 GBK 的不可映射字符 (0x9C)
java错误: 编码 GBK 的不可映射字符 (0x9C) 目录 java错误: 编码 GBK 的不可映射字符 (0x9C) 错误情况示例: 解决办法: 错误情况示例: E:\myJavaCode&g ...
- IDEA Generate JavaDoc时 控制台报错误: 编码GBK的不可映射字符
一.生成JavaDoc 为了方便查看功能解释,除了使用Swagger-ui以外,还需要知道非控制器(controller)类的功能,比如Service.Resource等.于是尝试了一下IDEA的生成 ...
- 基于Windows下处理Java错误:编码GBK的不可映射字符的解决方案
基于Windows下处理Java错误:编码GBK的不可映射字符的解决方案 最近在研究Java,涉及命令行编译,使用notepad++编辑器,然后使用javac编译: 之前的几个文件没有中文的内容,都没 ...
- java编译报错提示编码gbk的不可映射字符啥意思_解决java编译错误:编码GBK的不可映射字符...
[我的Android进阶之旅]解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符 1.问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责L ...
最新文章
- Javascript获取select下拉框选中的的值以及索引
- 细说Django的admin
- asp.net + winform + log4net 使用示例|using log4net with asp.net/winform
- KubeDL 0.4.0 - Kubernetes AI 模型版本管理与追踪
- webservice jsonp格式调用
- Pycrypto与RSA密码技术
- Flask 和 Google App Engine 部署模型服务
- GT-suite v2016的下载和安装
- 学习笔记(02):程序员的数学:微积分-常用导数(二):最常用到的技巧
- 生活中有哪些坏习惯一旦改正就能带来立竿见影的好处?
- ARCGIS绘制南海图框
- AndroidStudio画一条横线
- Swift 版本很好的卡片切换效果基于ZLSwipeableView(类似于[陌陌点点][探探])
- 【文件IO】Linux 文件操作(一) —— 遍历指定目录下的所有文件
- MATLAB regress命令
- 图片懒加载(仿SDWebImage)
- Unicode中的UTF-8, UTF-16, UTF-16LE, UTF-16BE编码及转换 | Java基础
- c语言编译器能不能找出逻辑错误,《C Primer Plus》- 第二章 C语言概述
- redhat linux 9.0 u盘安装,Red hat linux 9.0挂载U盘
- java swing 大球吃小球游戏 功能完善 完整代码 下载即可以运行
热门文章
- 实变函数笔记——不可数集合
- Learning Python Part II 之 赋值语句(Assignments)
- Java获取请求头、参数、路径、
- android无线点餐系统(电子菜谱)
- 长江云通冲量在线合作实践入选2021年“星河”隐私计算标杆案例
- XTU C语言程序设计1236Fibonacci
- 配置内网用户通过NAT地址池方式访问Internet外网
- 机器学习(十一)——集成学习
- I/O error on POST request for “http://localhost:9999/api/v2/spans“: connect timed out; nested except
- 钛资本研究院:未来三到五年,中国企业服务赛道将呈现黄金时代的基础