Java异常抛出使用e.printStackTrace(),打印出抛出的异常栈踪迹,

如果你在catch中继续抛出这个异常,那么e.printStackTrace()也能跟踪到抛出异常的地方,

使用throw new RunTimeException(e.fillInStackTrace()),改变异常栈踪迹。

public class TestException {
public static void main(String[] args) {
TestException testException = new TestException();
testException.testException();
} public void testException()
{
try {
int num = 1/0; }catch (RuntimeException e)
{
throw new RuntimeException(e.fillInStackTrace());
       //throw new RuntimeException(e);
      }
  }
}

console打印

Exception in thread "main" java.lang.RuntimeException: java.lang.ArithmeticException: / by zero
at com.jxufe.study.jsonstudy.test.TestException.testException(TestException.java:22)
at com.jxufe.study.jsonstudy.test.TestException.main(TestException.java:11)
Caused by: java.lang.ArithmeticException: / by zero
... 2 more

将上面的

throw new RuntimeException(e.fillInStackTrace()); 改为   throw new RuntimeException(e);

console打印

Exception in thread "main" Disconnected from the target VM, address: '127.0.0.1:57316', transport: 'socket'
java.lang.RuntimeException: java.lang.ArithmeticException: / by zero
at com.jxufe.study.jsonstudy.test.TestException.testException(TestException.java:22)
at com.jxufe.study.jsonstudy.test.TestException.main(TestException.java:11)
Caused by: java.lang.ArithmeticException: / by zero
at com.jxufe.study.jsonstudy.test.TestException.testException(TestException.java:17)
... 1 more

跟踪到抛出异常的第17行代码 int num = 1/0;

exception 打印出异常栈踪迹的更多相关文章

  1. Logger.error方法之打印错误异常的详细堆栈信息

    一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ...

  2. log4j打印错误异常的详细堆栈信息

    一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ...

  3. log日志中不打印异常栈的具体信息

    问题与分析 最近在查项目的log时发现报了大量的NPE(NullPointerException),诡异的是只log了Exception的类名,却没有具体的堆栈信息,以致于无法对该NPE异常进行准确定 ...

  4. NullPointerException异常没有异常栈打印问题追踪

    今天去服务器后台看日志,发现有很多NullPointerException异常.我下意识的找异常栈,想看下到底是哪行代码导致了空指针.但是发现日志中只打印出了如下日志: null java.lang. ...

  5. 【Exception】查看异常出现在具体的文件名/类名/方法名/具体行号

    今天在处理异常日志保存过程中,想要获取到异常抛出在具体在那个文件,哪个类下的哪个方法中的具体第几行,所以具体实现如下 try{ Integer adminID = Integer.parseInt(a ...

  6. Python 捕捉traceback异常栈信息

    捕捉traceback异常栈信息   by:授客 QQ:1033553122 相关函数简介 sys.exc_info() 返回包含3个元素(type, value, traceback)的元组,提供关 ...

  7. 获取异常信息里再出异常就找不到日志了,我TM人傻了

    本系列是 我TM人傻了 系列第三期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 最近组 ...

  8. unhandled exception(没有处理异常)

    背景 今天在代码中抛出了Exception类, 但是出现了代码报错 意思是,未处理异常 原因 因为Exception是check异常,也就是必须在代码层面直接捕获处理的,这类异常有IOExceptio ...

  9. 剑指offer_面试题5_从尾到头打印链表(栈和递归实现)

    题目:输入一个链表的头结点,从尾到头反过来打印出每一个节点的值 考察 单链表操作.栈.递归等概念. 理解:要实现单链表的输出,那么就须要遍历.遍历的顺序是从头到尾.而节点输出的顺序是从尾到头.因此,先 ...

随机推荐

  1. python 可变类型和不可变类型

    1. 什么是不可变类型变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间.不可变类型: 数字(int,long,float) 布尔(bool) 字符串(string) 元 ...

  2. jvm性能监控(4)–JVM的监控工具Jconsole

    下面主要说一下怎么JConsole远程连接springboot 项目 java  \-Djava.rmi.server.hostname=192.131.149.42 \-Dcom.sun.manag ...

  3. python:while循环语句及练习题

    while循环语句及练习题 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句... ...

  4. opencv2——直方图5

    (一)图像直方图 图像的构成是有像素点构成的,每个像素点的值代表着该点的颜色(灰度图或者彩色图).所谓直方图就是对图像的中的这些像素点的值进行统计,得到一个统一的整体的灰度概念.直方图的好处就在于可以 ...

  5. go web编程——路由与http服务

    本文主要讲解go语言web编程中的路由与http服务基本原理. 首先,使用go语言启动一个最简单的http服务: package main import ( "log" " ...

  6. C#设计模式:桥接模式(Bridge Pattern)

    一,桥接模式,直接上代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  7. vue 踩坑之组件传值

    Vue 报错[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the pa ...

  8. [IOI1998]Polygon(区间dp)

    [IOI1998]Polygon 题意翻译 多边形是一个玩家在一个有n个顶点的多边形上的游戏,如图所示,其中n=4.每个顶点用整数标记,每个边用符号+(加)或符号*(乘积)标记. 第一步,删除其中一条 ...

  9. Djano中static和media文件路径的设置

    对于常用的css.js.image和常用的工具类在django项目中要设置一个全局的路径,对所有的app都可以访问到这个路径下的文件 1在django项目的setting文件中设置对应的static和 ...

  10. HTML基础 img标签 做一个图库

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...