文档章节

终于知道Java异常栈经常有"....123more"的原因了

何金池
 何金池
发布于 2013/12/27 00:01
字数 117
阅读 156
收藏 4

/**

     * Print our stack trace as a cause for the specified stack trace.

     */

    private void printStackTraceAsCause(PrintStream s,

                                        StackTraceElement[] causedTrace)

    {

        // assert Thread.holdsLock(s);


        // Compute number of frames in common between this and caused

        StackTraceElement[] trace = getOurStackTrace();

        int m = trace.length-1, n = causedTrace.length-1;

        while (m >= 0 && n >=0 && trace[m].equals(causedTrace[n])) {

            m--; n--;

        }

        int framesInCommon = trace.length - 1 - m;


        s.println("Caused by: " + this);

        for (int i=0; i <= m; i++)

            s.println("\tat " + trace[i]);

        if (framesInCommon != 0)

            s.println("\t... " + framesInCommon + " more");


        // Recurse if we have a cause

        Throwable ourCause = getCause();

        if (ourCause != null)

            ourCause.printStackTraceAsCause(s, trace);

    }


© 著作权归作者所有

共有 人打赏支持
何金池
粉丝 13
博文 39
码字总数 7103
作品 0
深圳
前端工程师
JVM内存管理:深入Java内存区域与OOM

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述: 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高...

underA
2013/10/24
0
0
JVM参数OmitStackTraceInFastThrow导致的异常栈信息不见了

问题描述 某天收到生产环境error日志告警(对error.log监控,超过一定大小就会给开发人员发送告警短信)。但是tail查看最新的异常信息只有这些,好忧伤: 后来有个同事从error.log前面开始看...

哲别0
06/14
0
0
OutOfMemoryError详解

絮絮叨叨 最近在看周志明的《深入理解Java虚拟机》,虽然刚刚开始看,但是觉得还是一本不错的书。对于和我一样对于JVM了解不深,有志进一步了解的人算是一本不错的书。注明:不是书托,同样是...

六只
2012/07/04
0
3
实战OutOfMemoryError

在VM运行时数据区域中,除了程序计数器,其他在VM Spec中都描述了产生OutOfMemoryError(下称OOM)的情形,那我们就实战模拟一下,通过几段简单的代码,令对应的区域产生OOM异常以便加深认识...

忆瑶
2013/01/08
0
0
Java的OutOfMemoryError和StackOverflowError

Java的OutOfMemoryError和StackOverflowError Java Virtual Machine定义了两种异常:OutOfMemoryError与StackOverflowError。 OutOfMemoryError:Java启动一个线程时,JVM没有足够的内存空间...

开开心心过
2017/10/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

线性一致性和 Raft

作者:沈泰宁 在讨论分布式系统时,共识算法(Consensus algorithm)和一致性(Consistency)通常是讨论热点,两者的联系很微妙,很容易搞混。一些常见的误解:使用了 Raft [0] 或者 paxos ...

TiDB
16分钟前
0
0
兄弟连区块链教程以太坊源码分析core-state-process源码分析

## StateTransition状态转换模型 /* The State Transitioning Model 状态转换模型 A state transition is a change made when a transaction is applied to the cu......

兄弟连区块链入门教程
17分钟前
0
0
linear-gradient渐变中的参数

在看张鑫旭的博客 遇到渐变数值后面带参数不太理解 @supports (-webkit-mask: none) or (mask: none) { .box { border: none; background: linear-gradient(to bottom, #34538...

红羊在厦门
19分钟前
0
0
Python yagmail模块自动发邮件

Python发邮件yagmail模块 import yagmail#连接服务器yag=yagmail.SMTP('xx@163.com','yy','smtp.163.com')#邮箱正文contents=["test","email send"]#发送邮件#yag.send('...

小白兔_球球
20分钟前
1
0
pada mysql

CREATE SCHEMA `exchange` DEFAULT CHARACTER SET utf8mb4 ;

qwfys
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部