Gestion des Exceptions: Comment afficher les information de stack Trace avec StackTraceElement

Author:


{filelink=4384}

public class StackTrace {
  public static boolean displayStackTraceInformation(Throwable ex) {
    ex.printStackTrace();
    StackTraceElement[] stackElements = ex.getStackTrace();
    System.out.println("Le " + stackElements.length + " element"
          + ((stackElements.length == 1) ? "" : "s") + " de stack trace:");

    for (int lcv = 0; lcv < stackElements.length; lcv++) {
      System.out.println("Nom du Fichier: " + stackElements[lcv].getFileName());
      System.out.println("Numéro de ligne: " + stackElements[lcv].getLineNumber());

      String className = stackElements[lcv].getClassName();
      String NomPackage = extraireNomPackage(className);
      String NomClasseAbreg = extraireNomClasseAbreg(className);

      System.out.println("Nom du Package: " + ("".equals(NomPackage) ? "[default package]" : NomPackage));
      System.out.println("Nom complet de la classe: " + className);
      System.out.println("Nom abrégé de la classe: " + NomClasseAbreg);
      System.out.println("Nom Direct de la classe: " + extraireDirectClassName(NomClasseAbreg));
      System.out.println("Nom de la méthode: " + stackElements[lcv].getMethodName());
      System.out.println("Une Méthode native?: " + stackElements[lcv].isNativeMethod());

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

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

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

  public static String extraireNomClasseAbreg(String nomCompletClasse) {
    if ((null == nomCompletClasse) || ("".equals(nomCompletClasse)))
      return "";

    int dernierPoint = nomCompletClasse.lastIndexOf('.');
    if (0 > dernierPoint)
      return nomCompletClasse;

    return nomCompletClasse.substring(++dernierPoint);
  }

  public static String extraireDirectClassName(String NomClasseAbreg) {
    if ((null == NomClasseAbreg) || ("".equals(NomClasseAbreg)))
      return "";

    int dernierSigne = NomClasseAbreg.lastIndexOf('$');
    if (0 > dernierSigne)
      return NomClasseAbreg;
    return NomClasseAbreg.substring(++dernierSigne);
  }

}

A Voir sur le même Sujet:

  • stack trace java
  • java imprimer stacktrace dans un fichier
  • stack
  • stacktraceelement java
  • afficher un stack java
  • java afficher stacktrace exception
  • afficher le stack trace
  • gérer les mot de passe
  • afficher stacktrace java
  • gestionnaire de stacktraces

Leave a Reply

Your email address will not be published. Required fields are marked *