java对枚举类型进行自动化匹配
2021/9/17 22:08:14
本文主要是介绍java对枚举类型进行自动化匹配,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.datasure.movesure.util.exception; import com.datasure.movesure.base.core.exception.IErrorCode; /** * @ClassName: ShellUtilError * @Description: * @Author: Datasure008 * @Date: 2021/9/8 11:21 */ public enum ShellUtilError implements IErrorCode { /** * * 200 找不到paramiko模块,无法执行远程传输 * * 201 找不到配置文件(json) * * 202 配置文件(json)解析失败 * * 203 参数无效 * * 204 连接失败 * * 205 没有找到可用的安装包(linux_client_common_install.zip) * * 206 解压客户端安装包失败! * * 207 推送客户端安装包失败 (蓝色表示win新增)WINDOWS特有 * * 209 密码错误 * * * 101 检测到已安装,请先卸载 * * 102 安装包不完整,缺少必要的文件 * * 103 安装驱动失败! * * 104 添加DS引导项失败! * * 105 安装客户端程序失败! * * 106 无法获取客户端代理程序包 * * 110 当前系统不支持安装/卸载 * * 111 参数解析错误 * * * * * * 0 执行成功 */ SUCCESS("110000","成功"), NOT_FOUND_PARAMIKO_MODULE_ERROR("110200","paramiko模块,无法执行远程传输"), NOT_FOUND_CONF_FILE_ERROR("110201","找不到配置文件(json)"), JSON_PARSE_ERROR("110202","配置文件(json)解析失败"), PARAM_NOTEFFECT_ERROR("110203","参数无效"), LINK_FAILED_ERROR("110204","连接失败"), NOT_FOUND_INSTALL_PACKAGE_ERROR("110205","没有找到可用的安装包(linux_client_common_install.zip)"), UNZIP_ERROR("110206","解压客户端安装包失败!"), PASSWORD_ERROR("110209","推送客户端安装包失败 !"), HAVE_INSTALLED_ERROR("110101","检测到已安装,请先卸载"), FILE_NOT_FILL_ERROR("110102","安装包不完整,缺少必要的文件"), INSTALL_DERVER_FAIL_ERROR("110103","安装驱动失败!"), DS_FILL_FAIL_ERROR("110104","添加DS引导项失败!"), INSTALL_CLIENT_FAIL_ERROR("110105","安装客户端程序失败!"), PROXY_PACKAGE_FAIL_ERROR("110106","法获取客户端代理程序包"), LINUX_PROXY_PACKAGE_FAIL_ERROR("110107","执行远程命令失败"), NOT_SUPPORT_INSTALL_OR_UNINSTALL_ERROR("110110","当前系统不支持安装/卸载"), PARAM_PARSE_ERROR("110111","参数解析错误"), WINDOWS_PUSH_PACKAGE_FAIL_ERROR("110207","下载安装包失败"), ; private String errorCode; private String errorMessage; ShellUtilError(String errorCode, String errorMessage) { this.errorCode = errorCode; this.errorMessage = errorMessage; } @Override public String getErrorCode() { return this.errorCode; } @Override public String getErrorMessage() { return this.errorMessage; } }
/** * auth:jiaozongguan * 处理各种异常 */ ShellUtilError[] shellUtilErrors = ShellUtilError.values(); List<ShellUtilError> shellUtilErrorList = new ArrayList<>(); shellUtilErrorList = Arrays.asList(shellUtilErrors); int finalExitCode = exitCode; ShellUtilError shellUtilError = shellUtilErrorList.stream().filter( m -> m.getErrorCode().substring(3, 6).equals(String.valueOf(finalExitCode))).findFirst().get(); // complete failed. if (shellUtilError != null) { throw new WebsocketException(shellUtilError); }
package com.datasure.movesure.base.core.exception; /** * @ClassName: WebsocketException * @Description:websocket消息异常,统一处理 * @Author: jiaozongguan * @Date: 2021/8/10 14:04 */ public class WebsocketException extends RuntimeException { private static final long serialVersionUID = 1L; /** * 错误码 */ protected String errorCode; /** * 错误信息 */ protected String errorMessage; public WebsocketException() { super(); } public WebsocketException(IErrorCode errorCode) { super(errorCode.getErrorMessage()); this.errorCode = errorCode.getErrorCode(); this.errorMessage = errorCode.getErrorMessage(); } public WebsocketException(IErrorCode errorCode, Throwable cause) { super(errorCode.getErrorMessage(), cause); this.errorCode = errorCode.getErrorCode(); this.errorMessage = errorCode.getErrorMessage(); } public WebsocketException(String errorMsg) { super(errorMsg); this.errorMessage = errorMsg; } public WebsocketException(String errorCode, String errorMsg) { super(errorMsg); this.errorCode = errorCode; this.errorMessage = errorMsg; } public WebsocketException(String errorCode, String errorMsg, Throwable cause) { super(errorMsg, cause); this.errorCode = errorCode; this.errorMessage = errorMsg; } 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; } public String getMessage() { return errorMessage; } @Override public Throwable fillInStackTrace() { return this; } }
这篇关于java对枚举类型进行自动化匹配的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?