JAVA异常工具类ExceptionUtils的使用 您所在的位置:网站首页 行列式和转置行列式关系公式 JAVA异常工具类ExceptionUtils的使用

JAVA异常工具类ExceptionUtils的使用

2023-09-14 20:41| 来源: 网络整理| 查看: 265

org.apache.commons.lang3.exception.ExceptionUtils工具类的用法:

import com.tellme.utils.ExceptionUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.exception.ExceptionUtils; @Slf4j public class TestExceptionUtils { public static void main(String[] args) { try { say(); } catch (Exception e) { log.error("", e); System.out.println("----------"); //RuntimeException:xx (打印的是直接异常) System.out.println("ExceptionUtils.getMessage(e):" + ExceptionUtils.getMessage(e)); //ArithmeticException: / by zero (打印的是根异常,但是若是抛出异常时,没将跟异常向外抛出,那么捕获到的依旧是RuntimeException:xx) System.out.println("ExceptionUtils.getRootCauseMessage(e):" + ExceptionUtils.getRootCauseMessage(e)); //打印的是异常堆栈信息 System.out.println("ExceptionUtils.getStackTrace(e):" + ExceptionUtils.getStackTrace(e)); //java.lang.ArithmeticException: / by zero (打印的是根异常,但是若是抛出异常时,没将跟异常向外抛出,那么返回null) System.out.println("ExceptionUtils.getRootCause(e):" + ExceptionUtils.getRootCause(e)); //异常链中异常的数量:2 System.out.println("ExceptionUtils.getThrowableCount(e):" + ExceptionUtils.getThrowableCount(e)); //java.lang.ArithmeticException: / by zero 数组,第一位的的是根异常信息 System.out.println("ExceptionUtils.getRootCauseStackTrace(e)[0]:" + ExceptionUtils.getRootCauseStackTrace(e)[0]); //java.lang.RuntimeException: xx 数组,第一位的是直接异常信息 System.out.println("ExceptionUtils.getStackFrames(e)[0]:" + ExceptionUtils.getStackFrames(e)[0]); //异常链的数组:[java.lang.RuntimeException: xx, java.lang.ArithmeticException: / by zero] System.out.println("ExceptionUtils.getThrowableList(e):" + ExceptionUtils.getThrowableList(e)); //自定义的异常链信息(打印直接异常的详细信息):ExceptionUtil.getLogErrorMessage(e):xx||RuntimeException||com.tellme.test.TestExceptionUtils.say(TestExceptionUtils.java:38) System.out.println("ExceptionUtil.getLogErrorMessage(e):" + ExceptionUtil.getLogErrorMessage(e)); } } private static void say() { try { int i = 1 / 0; } catch (Exception e) { //将e传入,即保持了异常链的信息。否则的话,异常链便断了。 throw new RuntimeException("xx", e); } } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有