Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

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


{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:

  • stacktraceelement affichage du contenu
  • gérer les mot de passe
  • afficher stacktrace java
  • gerer stack d'image python
  • c# .net afficher la stack trace avec ligne
  • afficher le stack trace
  • java afficher stacktrace exception
  • stack trace java
  • java exception afficher vue
  • java récupérer StackTrace