1. private void printStack() {
    2. Throwable ex = new Throwable();
    3. StackTraceElement[] stackElements = ex.getStackTrace();
    4. if (stackElements != null) {
    5. for (int i = 0; i < stackElements.length; i++) {
    6. StackTraceElement stackElement = stackElements[i];
    7. String className = stackElement.getClassName(); //返回类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。
    8. String fileName = stackElement.getFileName(); //返回源文件名,该文件包含由该堆栈跟踪元素所表示的执行点。
    9. int lineNumber = stackElement.getLineNumber(); //返回源行的行号,该行包含由该堆栈该跟踪元素所表示的执行点。
    10. String methodName = stackElement.getMethodName(); //返回方法名,此方法包含由该堆栈跟踪元素所表示的执行点。
    11. System.out.println("stackIndex: " + i + " - " + className + "." + methodName + ":" + lineNumber);
    12. }
    13. }
    14. }