StackTraceElement的用法

/**
 * StackTraceElement的用法
 */
public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        new TestM().OuterMethod();
    }

    
    public void methodA(){
        methodB();
    }
    
    public void methodB(){
        methodC();
    }

    public void methodC(){
        StackTraceElement[] stacks = Thread.currentThread().getStackTrace();
        for(StackTraceElement s: stacks){
            System.out.println("-------"+s.getMethodName()+" : "+s);
        }
    }
}

class TestM {
    public void OuterMethod(){
        new Test().methodA();
    }
}

===打印结果===:

-------getStackTrace : java.lang.Thread.getStackTrace(Unknown Source)
-------methodC : org.feinno.icm.cms.Test.methodC(Test.java:24)
-------methodB : org.feinno.icm.cms.Test.methodB(Test.java:20)
-------methodA : org.feinno.icm.cms.Test.methodA(Test.java:16)
-------OuterMethod : org.feinno.icm.cms.TestM.OuterMethod(Test.java:33)
-------main : org.feinno.icm.cms.Test.main(Test.java:11)

posted on 2013-01-05 10:40  cfd406635982  阅读(9958)  评论(1)    收藏  举报