Display Stack Trace Information with StackTraceElement : Exceptions « Language Basics « Java

Java
1. 2D Graphics GUI
2. 3D
3. Advanced Graphics
4. Ant
5. Apache Common
6. Chart
7. Class
8. Collections Data Structure
9. Data Type
10. Database SQL JDBC
11. Design Pattern
12. Development Class
13. EJB3
14. Email
15. Event
16. File Input Output
17. Game
18. Generics
19. GWT
20. Hibernate
21. I18N
22. J2EE
23. J2ME
24. JDK 6
25. JNDI LDAP
26. JPA
27. JSP
28. JSTL
29. Language Basics
30. Network Protocol
31. PDF RTF
32. Reflection
33. Regular Expressions
34. Scripting
35. Security
36. Servlets
37. Spring
38. Swing Components
39. Swing JFC
40. SWT JFace Eclipse
41. Threads
42. Tiny Application
43. Velocity
44. Web Services SOA
45. XML
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java » Language Basics » ExceptionsScreenshots 
Display Stack Trace Information with StackTraceElement
    
public class StackTrace {
  public static boolean displayStackTraceInformation(Throwable ex) {
    ex.printStackTrace();
    StackTraceElement[] stackElements = ex.getStackTrace();
    System.out.println("The " + stackElements.length + " element"
          ((stackElements.length == 1"" "s"" of the stack trace:\n");
    
    for (int lcv = 0; lcv < stackElements.length; lcv++) {
      System.out.println("File name: " + stackElements[lcv].getFileName());
      System.out.println("Line number: " + stackElements[lcv].getLineNumber());

      String className = stackElements[lcv].getClassName();
      String packageName = extractPackageName(className);
      String simpleClassName = extractSimpleClassName(className);

      System.out.println("Package name: " ("".equals(packageName"[default package]" : packageName));
      System.out.println("Full class name: " + className);
      System.out.println("Simple class name: " + simpleClassName);
      System.out.println("Unmunged class name: " + unmungeSimpleClassName(simpleClassName));
      System.out.println("Direct class name: " + extractDirectClassName(simpleClassName));

      System.out.println("Method name: " + stackElements[lcv].getMethodName());
      System.out.println("Native method?: " + stackElements[lcv].isNativeMethod());

      System.out.println("toString(): " + stackElements[lcv].toString());
      System.out.println("");

    }
    return true;
  }
  public static String extractPackageName(String fullClassName) {
    if ((null == fullClassName|| ("".equals(fullClassName)))
      return "";

    int lastDot = fullClassName.lastIndexOf('.');
    if (>= lastDot)
      return "";
    return fullClassName.substring(0, lastDot);
  }

  public static String extractSimpleClassName(String fullClassName) {
    if ((null == fullClassName|| ("".equals(fullClassName)))
      return "";

    int lastDot = fullClassName.lastIndexOf('.');
    if (> lastDot)
      return fullClassName;

    return fullClassName.substring(++lastDot);
  }

  public static String extractDirectClassName(String simpleClassName) {
    if ((null == simpleClassName|| ("".equals(simpleClassName)))
      return "";

    int lastSign = simpleClassName.lastIndexOf('$');
    if (> lastSign)
      return simpleClassName;
    return simpleClassName.substring(++lastSign);
  }

  public static String unmungeSimpleClassName(String simpleClassName) {
    if ((null == simpleClassName|| ("".equals(simpleClassName)))
      return "";
    return simpleClassName.replace('$''.');
  }
}

   
    
    
    
  
Related examples in the same category
1. Illustrate various Exceptions Illustrate various Exceptions
2. Experience exceptionsExperience exceptions
3. StackTrace
4. Getting the Stack Trace of an Exception
5. What happens if a method declares an unchecked exception?
6. Simple demo of exceptionsSimple demo of exceptions
7. Simple demo of exceptions, with finally clauseSimple demo of exceptions, with finally clause
8. ThreadBasedCatcher - Demonstrate catching uncaught exceptions
9. Exception CatcherException Catcher
10. Turning off Checked exceptions
11. Demonstrates exception chainingDemonstrates exception chaining
12. Finally is always executedFinally is always executed
13. Demonstrating the Exception MethodsDemonstrating the Exception Methods
14. Further embellishment of exception classesFurther embellishment of exception classes
15. The finally clause is always executedThe finally clause is always executed
16. Your own Exception classYour own Exception class
17. Catching exception hierarchiesCatching exception hierarchies
18. How an exception can be lost
19. Exception in main method
20. Ignoring RuntimeExceptionsIgnoring RuntimeExceptions
21. Demonstrating fillInStackTrace()Demonstrating fillInStackTrace()
22. Put printStackTrace() into a String: redirect the StackTrace to a String with a StringWriter/PrintWriter
23. Rethrow a different object from the one that was caughtRethrow a different object from the one that was caught
24. Inheriting your own exceptionsInheriting your own exceptions
25. Overridden methods may throw only the exceptions
26. Returns the output of printStackTrace as a String.
27. Locates a particular type of exception
28. Throw Exception OutThrow Exception Out
29. Get Deepest ThrowableGet Deepest Throwable
30. Make a string representation of the exception
31. Utility methods for dealing with stack traces
32. Returns the root cause of an exception
33. Utility class to work with throwables
34. Print all of the thread's information and stack traces
35. Convert an exception to a String with full stack trace
36. Return stack trace from the passed exception as a stringReturn stack trace from the passed exception as a string
37. Create a new RuntimeException, setting the cause if possible.
38. Create a new Exception, setting the cause if possible.
39. Set the cause of the Exception. Will detect if this is not allowed.
40. Get the stack trace of the supplied exception.
41. A collection of utility methods for manipulating exceptions
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.