Java之ExceptionHelper工具类

简介: import java.util.Map;import org.apache.commons.lang3.StringUtils;import org.apache.commons.

import java.util.Map;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;


public class ExceptionHelper {
    public static String getFullStackTrace(Throwable t){
        if(t==null)return "";
        String expStr = "";
        if(t instanceof SystemException){
            expStr +=  getSystemExceptionMsg((SystemException)t);
        }
        expStr += StringUtils.join(ExceptionUtils.getRootCauseStackTrace(t),"\n");
        return expStr;
    }

    private static String getSystemExceptionMsg(SystemException exp) { 
        if(exp==null)return "";
        StringBuilder sb = new StringBuilder();
        ErrorCode errorCode =exp.getErrorCode();
        Map<String,Object> properties = exp.getProperties();
        if (errorCode != null) {
            sb.append(
                    errorCode.getCode() + ":"+errorCode.getValue() + ":"+ 
                    errorCode + ":" + errorCode.getClass().getName()+"\n"
                    ); 
        }
        for (String key : properties.keySet()) {
            sb.append(key + "=[" + properties.get(key) + "]\n"); 
        }
        return sb.toString();
    }
}
目录
相关文章
|
1月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
22 1
|
4月前
|
Java API
【零基础学Java】—数组工具类Arrays(十七)
【零基础学Java】—数组工具类Arrays(十七)
|
4月前
|
Java
【零基础学Java】—数学工具类Math(十八)
【零基础学Java】—数学工具类Math(十八)
|
4月前
|
安全 算法 Java
Java之并发工具类的详细解析
3. 并发工具类 3.1 并发工具类-Hashtable Hashtable出现的原因 : 在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我们可以使用Hashtable,但是Hashtable的效率低下。
29 0
|
7月前
|
Java
Java操作时间工具类
Java操作时间工具类
49 0
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
6天前
|
安全 Java
深入理解 Java 多线程和并发工具类
【4月更文挑战第19天】本文探讨了Java多线程和并发工具类在实现高性能应用程序中的关键作用。通过继承`Thread`或实现`Runnable`创建线程,利用`Executors`管理线程池,以及使用`Semaphore`、`CountDownLatch`和`CyclicBarrier`进行线程同步。保证线程安全、实现线程协作和性能调优(如设置线程池大小、避免不必要同步)是重要环节。理解并恰当运用这些工具能提升程序效率和可靠性。
|
26天前
|
JSON Java 网络安全
Java使用hutool工具类发送网络请求
Java使用hutool工具类发送网络请求
41 0
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
101 0
|
2月前
|
安全 算法 Java
Java Collections工具类:常用方法与技巧
Java Collections工具类:常用方法与技巧