Throwable t = new Throwable(); StackTraceElement[] es = t.getStackTrace(); for ( int i=0; i<es.length; i++ ) { StackTraceElement e = es[i]; System.out.println( " in class:" + e.getClassName() + " in source file:" + e.getFileName() + " in method:" + e.getMethodName() + " at line:" + e.getLineNumber() + " " + ( e.isNativeMethod() ? "native" : "" ) ); }
imAt() in the following code sample will print out at com.mindprod.mypackage.Myclass.doSomething line 34. You could use similar code to return the name of the current class or method. Unfortunately, support for the methods this relies on is not guaranteed in all implementations.
In older Javas you will have to make do with new Throwable().printStackTrace(), or you can catch an exception and print with e.printStackTrace(). Thread.dumpstack() is a convenience method to do just that.
To get a stack dump on an exception use:
try { ... } // printing a stack trace on an exception catch ( Exception e ) { e.printStackTrace(); // or e.printStackTrace( System.err ); }
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | ![]() | ||
| You are visitor number 12,610. | |||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/trace.html | J:\mindprod\jgloss\trace.html | ||