-M.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 메소드를 이용하면 자신(메소드)를 호출한 이전 메소드나 클래스의 정보를 볼 수 있다
출처 : http://wakeupjava.tistory.com/147
'Programming > JAVA' 카테고리의 다른 글
java.lang.Object 메쏘드 분석 6 - wait , notify (0) | 2015.07.03 |
---|---|
enum의 뿌리를 찾아서 (0) | 2015.07.02 |
Make a Java Daemon with Jsvc on Linux (0) | 2015.06.05 |
Java Data Structure (0) | 2015.01.29 |
Get Column Names From ResultSet for MySQL (0) | 2014.12.08 |