异常工具类

Java常见工具类及异常处理 Java常用工具类及异常,异常的原理 try,catch,finally,throws,throw Arrays类 Random类 System和Runtime类 立即下载

/**
 * 异常工具类
 */
public class CCException extends RuntimeException {

    private Throwable t;

    private String errorCode;

    public CCException(String message) {
        super(message);
    }

    public CCException(String errorCode, String message) {
        super(message);
        this.errorCode = errorCode;
    }

    /**
     * Constructs a new runtime exception with the specified detail message.
     * The cause is not initialized, and may subsequently be initialized by a
     * call to {@link #initCause}.
     *
     * @param message the detail message. The detail message is saved for
     *                later retrieval by the {@link #getMessage()} method.
     */
    public CCException(String errorCode, String message, Throwable t) {
        super(message);
        this.errorCode = errorCode;
        this.t = t;
    }

    public CCException(ErrorCodeEnum errorEnum) {
        super(errorEnum.getDesc());
        this.errorCode = errorEnum.getCode();
    }

    public CCException(ErrorCodeEnum errorEnum, String message) {
        super(message);
        this.errorCode = errorEnum.getCode();
    }

    public CCException(ErrorCodeEnum errorEnum, Throwable t) {
        super(errorEnum.getDesc());
        this.errorCode = errorEnum.getCode();
        this.t = t;
    }

    /**
     * Getter method for property <tt>t</tt>.
     *
     * @return property value of t
     */
    public Throwable getT() {
        return t;
    }

    /**
     * Setter method for property <tt>t</tt>.
     *
     * @param t value to be assigned to property t
     */
    public void setT(Throwable t) {
        this.t = t;
    }

    /**
     * Getter method for property <tt>errorCode</tt>.
     *
     * @return property value of errorCode
     */
    public String getErrorCode() {
        return errorCode;
    }

    /**
     * Setter method for property <tt>errorCode</tt>.
     *
     * @param errorCode value to be assigned to property errorCode
     */
    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }
}

ErrorCodeEnum 中定义业务相关异常code

对异常进行分类

  • 系统异常: 这类异常通常是大致地提示使用方系统不可用,同时需要相关人员更进处理的
  • 非系统异常:这类异常通常是一些义务逻辑而已,比如检查到用户参数有误后抛出的异常

【异常分类原则】:先明确定义好什么样的系统属于系统异常,什么样的异常属于自定义异常,当捕获到一个异常或产生错误时,看这个异常是哪种场景,然后在归类。

异常使用规范:

  • 在可能发生异常的地方(调用第三方服务、IO操作、类型转换、参数校验、db操作、定时任务等),不能直接抛出异常,需要使用具体的异常错误码,将错误信息及主要参数进行抛出,同时打印错误日志,在接口最外层捕获异常;
  • 在异常的errorMessage中,需要写明具体的接口名,方法名,主要参数code及value
  • try-catch的范围尽可能小,尽量只针对非稳定代码进行try-catch
  • 在finally中一定要将资源对象、流对象闭,如果try中包含事物,需要将其回滚
  • 当我们捕获到一个依赖方的异常时,需要判断这个异常级别应该对应于我们系统已经定义的哪个异常
【Python】秋招机考 —— 2025/9/17 华为 AI 方向 秋招机考,华为 AI,使用 Python 完成编程。 阅读详情

相关推荐

ADS高级技巧:用DAC控件实现多变量参数扫描(以S参数和阻抗匹配为例)

本文深入解析了ADS软件中DAC控件的高级应用,指导用户如何利用其实现多变量参数扫描。通过构建支持多变量的MDF文件,并将其与原理图变量动态映射,可以高效完成如S参数和阻抗匹配等复杂场景的联合仿真与可视化分析,显著提升射频电路设计的效率和深度。

3a9bq4r8t2y的博客 253

全局异常工具类

全局异常处理

技术记录薄 539

汽车电子电气架构演进:从分布式ECU到域集中与中央计算

汽车电子电气架构(EEA)是整车电子系统的顶层设计框架,定义了计算、通信、供电等核心要素的组织方式。其演进遵循从分布式到集中式的技术路径,旨在解决传统架构下ECU数量膨胀带来的成本、复杂度和协同难题。通过域控制器(DCU)整合功能域,以及向中央计算+区域控制架构发展,实现了硬件资源池化、软硬件解耦与高速通信。这一变革的核心技术价值在于提升算力利用率、简化线束布局、支持软件定义汽车(SDV)与持续OTA升级。在智能电动汽车时代,新架构为智能座舱、自动驾驶等复杂应用提供了可扩展的平台基础,推动了汽车产业从硬件导

weixin_30326741的博客 383

Java 异常类和常用类、容器、泛型

所谓异常就是程序运行时可能出现的一些错误。异常类又分为三类:检查型异常、错误、运行时异常。在编写程序时可以扩展Exception类定义自己的异常类,然后根据程序的需求来规定哪些方法产生这样的异常。一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。

liang_wanggx的博客 574

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1629

数据质量管理的一些思考

背景 在近期的项目当中,我们为客户落地实施了数据资产平台。随后,在数据平台中接入了客户子公司的一个业务系统的明细数据。客户希望在我们的数据平台上通过数据探索和数据分析,来挖掘一些业务价值和业务创新点。 当我们拿到数据开始进行一些初步探索的时候,发现导入平台的数据质量存在一定的问题:例如一些用于数据分析的关键字段的值为空、一些本应该有主从关系的数据对应不上、数据分类混乱等。这些问题直接影响到了对...

IDEAL Garden 1万+

全局异常工具类GlobalExceptionHandler

// 自定义异常 @Getter public class APIException extends RuntimeException{ private int code; private String message; public APIException(String message){ this(1001,message); } public APIException(int code,String message){

输入技术、输出想法 3541

OpenClaw实操:给网站装上“智能眼睛”?手把手教你用OpenClaw实时监控网站

本文介绍如何在Windows系统使用OpenClaw构建智能网站监控助手。手把手教你通过配置本地AI模型,让openclaw构建的ai助手自动检测指定网页的内容变化,理解更新重要性,并及时通过邮件、微信、Telegram等渠道发出预警,让你第一时间掌握关键信息,彻底告别手动刷新。

plawuyue的博客 2162

SpringBoot--打印详细空指针异常的工具类

本文介绍打印详细异常堆栈的工具类。 本工具类可以打印详细的异常堆栈的信息。比如:在抛出NullPointException时,message是这样的:java.lang.NullPointException。用本工具可以获得方法的调用流程,方便排查问题。

IT利刃出鞘的博客 1194

25 - GRACE Mascon数据缺失月份数据插值

本篇基于文章的相关内容和文章公开的奇异谱分析(SSA)插值算法程序包,对grace Mascon数据种缺失的月份进行 插值 ,总结了使用程序包的相关过程,可以将该程序应用到其他数据处理插值计算中。

weixin_43339605的博客 1842

飞牛fnNAS搭建web版微信

摘要:本文介绍了一种通过Docker在飞牛NAS上部署微信客户端的方法,实现24小时同步微信聊天记录。具体步骤包括:1)激活飞牛NAS的Docker功能并配置镜像加速源;2)创建专用文件夹并下载docker-wechat镜像;3)设置容器参数并部署微信客户端;4)通过局域网或ZeroTier内网穿透实现远程访问。相比传统Windows/Linux方案,该方法资源占用更低,适合需要长期保存微信聊天记录的用户。

dgnankai的专栏 3330

[java基础]包装器,异常及集合工具类

[java基础]包装器,异常及集合工具类案例

qq_58692689的博客 321

Couldn‘t agree a key exchange algorithm(available:curve25519-sha256,curve25519-sha256@libssh.org解决方案

本文主要介绍了Couldn’t agree a key exchange algorithm(available:curve25519-sha256,curve25519-sha256@libssh.org解决方案,希望能对使用winscp的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 方案一 2.2 方案二

weixin_43178406的博客 4万+

关于工具类异常抛出问题

工具类中,一般不建议方法抛出异常,工具类的作用就是为了简化代码,如果还要抛出checked异常,那还不如不用工具类,最典型的就是格式化日期了 private static final Logger LOGGER = LoggerFactory.getLogger(DateUtil.class); public static Date parse(String string, String...

zsj777的专栏 2064

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

异常处理的工具类

package com.opslab.util; import java.io.PrintWriter;import java.io.StringWriter; /** * 异常处理的工具类 */public final class ExceptionUtil { /** * 只返回指定包中的异常堆栈信息 * * @param e 异常信息 * @para...

weixin_34337265的博客 365

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java 异常处理工具类_异常处理的工具类

package com.opslab.util;import java.io.PrintWriter;import java.io.StringWriter;/*** 异常处理的工具类*/public final class ExceptionUtil {/*** 只返回指定包中的异常堆栈信息** @param e 异常信息* @param packageName 只转换某个包下的信息* @ret...

weixin_30029951的博客 405

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java异常处理工具类(ExceptionUtils)

是一个自定义的 Java 工具类,旨在简化异常处理的常见操作。它提供了异常信息获取、日志记录、异常转换和包装等功能。通过,开发者可以减少异常处理代码的冗余,规范异常的记录和输出,提升代码的可读性和维护性。ExceptionUtils是一个Java异常处理工具类,提供了一些常见的异常处理方法。:获取异常堆栈信息,返回一个字符串。:获取异常的原因,返回一个Throwable对象。:获取异常的根本原因,返回一个Throwable对象。:将异常堆栈信息打印到标准错误流。:获取异常的详细信息,返回一个字符串。

Flying_Fish_roe的博客 2250

如何编写一个异常工具类,拿去就可用的,超详细

异常工具类在一个系统中是比较常用的工具类,一般包含异常码,和异常提示信息,那么该如何编写一个异常工具类呢?按照下面步骤来就可以编写一个异常工具类。 public class BaseException extends RuntimeException { public String code; public String desc; public BaseException() { } public BaseException(String code) {

zhucheng325的博客 387

关于异常的工具类

import javax.servlet.http.HttpServletRequest; import java.io.PrintWriter; import java.io.StringWriter; /** * 关于异常的工具类. * @author calvin * @version 2014-8-19 */ public class ExceptionUtils { /*...

小小木子渐成长 801

Function + 异常策略链:构建可组合的异常封装工具类

本文提出了一种基于函数式编程的异常处理策略链模式,通过FunctionChainWrapper工具类实现异常处理的统一封装。核心思想是将异常策略(日志记录、异常转换、默认值回退等)与业务逻辑分离,支持链式组合和透明调用。该方案解决了传统try-catch模式导致的代码冗余和异常处理不一致问题,同时保持函数式接口的组合能力。文章详细展示了工具类设计、使用示例、单元测试方法及避坑指南,并指出该模式在业务逻辑清晰化、异常策略复用和功能扩展方面的价值。这种函数式异常封装使开发者能更专注于主业务流程,提升代码的可维护

龚小帅的博客 908

JAVA工具类调用业务层报空指针异常

java中新建工具类需要调用某个service类时后台报空指针异常。 一、在类名上加 @Component或者@Controller注解 @Component public class PrivateKeyUtils { } 二、在类中引入Service,将当前类类初始化。 @Component public class PrivateKeyUtils { @Autowired private BocommMerchantService bocommMerchantServic

qq_33007465的博客 2356

CompletableFuture处理工具类和CompletableFuture异常提取工具类

CompletableFuture处理工具类

L'Étranger的博客 546

我自己的抛异常的工具类

我自己的抛异常的工具类

NULL_YM 292

异常处理工具类

import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.ArrayUtils; /** * 异常处理工具类 * */ public final class HandleExceptionUtils { private HandleExceptionUtils(){} /** * 异常处理方法 * .

qingcyb的博客 255

异常逻辑处理工具类

【代码】异常逻辑处理工具类。

tianqi11的博客 393

数组工具类和数组异常

数组的数组常用的工具类和其常出现的异常

m0_74012211的博客 212
上一篇: 时间处理工具类
下一篇: 参数校验工具类
cuichen97
博客等级 码龄7年 34粉丝 209原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值