Throwable.getStackTrace() - 자신을 호출한 이전 메소드 혹은 클래스 정보 보기.

package test;

public class M {
    
    public static void main(String[] args) {
        new M().a();
    }
    
    void a(){
        b();
    }
    
    void b(){
         StackTraceElement[] a = new Throwable().getStackTrace();
         
         for(int i = a.length - 1; i > 0 ; i--){
             System.out.print("클래스 - " + a[i].getClassName());
             System.out.print(", 메소드 - "+a[i].getMethodName());
             System.out.print(", 라인 - "+a[i].getLineNumber());
             System.out.print(", 파일 - "+a[i].getFileName());
             System.out.println();
         }
    }
}
결과

클래스 - test.M, 메소드 - main, 라인 - 7, 파일 - M.java
클래스 - test.M, 메소드 - a, 라인 - 12, 파일 - M.java

Throwable 클래스의 getStackTrace 메소드를 이용하면 자신(메소드)를 호출한 이전 메소드나 클래스의 정보를 볼 수 있다.

댓글()