Posez votre question Signaler

Java: comment récupér une Exception

omar - Dernière réponse le 31 juil. 2003 à 16:01
Bonjour voila lorsque une erreur est généré sur la cosnle ms-dos s affiche le chemin des erreurs (cf code ci-dessous)
or ma fenetre dos étant de taille limité je ne vosi pas les 3 premières lignes qui m'importent a savoir la ligne de l erreur

Donc j aimerais bien recupere le printsacktrace pr l afficher comme je veux (voite de dialgue., ecriere dans un fichier.)(les 5 premires lignes sont suffisantes)
Or l'objet retounée par .printStackTrace()
est du type void

Cmt donc le récuperer?


catch (Exception ex)
{

ex.printStackTrace()
}


A+ Omar
Lire la suite 

Java: comment récupér une Exception »

9 réponses
Réponse
+2
moins plus
Bien, alors, ma foi, tu utilise la fonction

getStackTrace()

qui renvoie un
StackTraceElement

et pour avoir la ligne tu utilise la fonction
getLineNumber()

que tu n'as plus qu'à afficher...

Tout ça se trouve dans l'aide de java sur le site de sun...
http://java.sun.com/j2se/1.4.1/docs/api/index.html




Maily   :-))))
Ajouter un commentaire
Réponse
+1
moins plus
Me faire un toString() ne m approte pas grand chose hormis savoir c quoi comme type d exception (je l ai deja fait) cela ne m indique pas à quel ligne s 'est produite l erreur : ce qui est iniqué dans le printstacktrace!
maily- 31 juil. 2003 à 12:04
Désolée d'avoir essayé de t'aider!
Un "merci, ce n'est pas ce que je voulais, mais peut etre je n'ai pas été assez claire dans ma question!" aurait été le bienvenu

Maily   :-))))
Ajouter un commentaire
Réponse
+1
moins plus
remarque peut être stupide, mais il est possible de modifier le format de la fenêtre DOS de manière à tout afficher.

clic droit sur la barre de titre et propriètés

Chouba
Casque Bleu forumique
Ajouter un commentaire
Réponse
+1
moins plus
dans un fichier texte....

Chouba
Casque Bleu forumique
Ajouter un commentaire
Réponse
+1
moins plus
Chouba j y ai pensé dans un fichier texte mais le fait que la méthode printstacktrace son type retounée est void n aide pas!
Ajouter un commentaire
Réponse
+1
moins plus
Merci maily mais c bizarre avant que tu ne répondes ja i trouvé la réponse dans l API mais mon message a été effacé? modérateur?

Ca donne donc:
catch(Exception e)
{
StackTraceElement [] ligne=null;
//e.printStackTrace();
ligne=e.getStackTrace();

for (int i=ligne.length-1;i>=0; i--)
{
System.out.println("class name: "+ligne[i].getClassName()+" File name: "+ligne[i].getFileName());
System.out.println("ligne :"+ligne[i].getLineNumber() +" Method name:" +ligne[i].getMethodName() );
}
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour...

Bon alors, c'est tout simple!

Ton exception, tu peux lui appliquer un joli toString(), et ainsi tu auras ton erreur!
Ensuite, pour la récupérer, tu déclares une exception en dehors de ton try catch et lorsqu'il y a une exception pour de vrai, et bien tu la copie dans l'exception déclarée en dehors!

et après, tu en fais ce que tu veux!!

Même quand tu fais
System.out.println(e);

ça marche!!

Bonne journée

Maily   :-))))
Ajouter un commentaire
Réponse
+0
moins plus
Nan ca ne marche pas (le printstacktrace est trop log!) c la premiere chose que j ai tenté
pourtant il doit surement y avoir un moyen de choper le printstacktrace!!

Car pr des servlets java, Tomcat parvient à l'afficher sur la fenetre web c que ca doit etre récupérable!!
Ajouter un commentaire
Ce document intitulé « java: comment récupér une Exception » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?