use*_*906 0 java stack-trace throwable printstacktrace
所以,我有这个类,我想打印调用哪些方法.当我运行它时,它只打印trace和main,但不打印method1和method2.如何更改它以便打印method1和method2,从main调用的方法?
public class SomeClass
{
public void method1() {}
public void method2() {}
public static void main(String args[]) throws Throwable
{
SomeClass c = new SomeClass();
c.method1();
c.method2();
SomeClass.trace();
}
public static void trace() throws Throwable
{
Throwable t = new Throwable();
StackTraceElement[] stack = t.getStackTrace();
for(StackTraceElement s : stack)
System.out.println(s.getMethodName());
}
}
Run Code Online (Sandbox Code Playgroud)
method1并且method2已经被召唤但已经完成了他们的工作,所以没有理由他们在追踪中.堆栈跟踪的工作是向您显示正在进行的功能(堆栈中哪些调用未完成).
如果您正在寻找可以告诉您已被调用(但已完成)的内容,那么您正在寻找的工具类别称为"代码覆盖率"测试工具.这不是Java运行库的异常和堆栈跟踪方面的一部分.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |