Est'il possible dans une JSP, lors d'un catch d'une exception, d'afficher la ligne où l'erreur s'est produite ?
Merci
Est'il possible dans une JSP, lors d'un catch d'une exception, d'afficher la ligne où l'erreur s'est produite ?
Merci
Dans les logs de ton serveur d'app il n'y a rien ?
Si les infos apparaissent, mais je souhaite afficher dans la page la description de l'erreur avec entre autre le numero de ligne ou l'erreur s'est produite.
ben tu peux simplement faire ton try catch dans ta page et faire un out.println...
C'est la solution simple et sale.
@+
je suis d'accord, mais je fais un out.println de quoi pour avoir la ligne de l'erreur ?
En developpant :
Si je dispose de 2 String s1 et s2, et que j'utilise c'est deux variables dans des traitements. Si une des 2 variable est nulle, je vais récupérer dans mon catch, une exception "null pointer". Comment arriver a savoir quelle variable est concerné et l'afficher dans la page ?
(L'indication de la ligne me semble adéquate)
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 try { String s1, s2; .... catch (exception e) { out.println(e.ToString()); }
ah ok
ben ex.getMessage pour avoir le message.
ex.printStackTrace direct sur le flux de sortie ( ss out.println )pour la trace complete avec la pile ...
Tous les trucs d'exception de base quoi ....
Merci, mais j'aurai aimé savoir si il existe une methode ou une fonction existante (ou un bout de code) permettant de récupérer uniquement la ligne ou s'est produite l'erreur.
Merci quand meme !
a ca je crois pas ,, mais qu'elle est l'interet de savoir la ligne.... si ca plante c durant le developpement que c interressant de savoir non ?
Bon c vrai que je ne sais pas quels sont t besoins précis mais c etrange ...
Je jette un oeil pour voir si je trouve une soluce qqpart..
@+
oki merci !
En fait je travaille sur un soft d'une ampleur considérable, la maintenance est assez délicate ... ça serai donc sympa de savoir directement ou est l'erreur !
Merci de t'interresser au problème !
Bon alors c possible mais c pas simple:
dans ton exception , tu recupperes la cause ( un Throwable ), ensuite sur la cause tu récuperes les élements de la stack ( getStackTraceElement() )
Sachant que ste[0] c la premiere ligne de la stack a toi de voir ce que tu veux recup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 try { } catch(Exception ex) { Throwable t = ex.getCause(); StackTraceElement[] ste = t.getStackTrace(); int line = ste[0].getLineNumber(); }
tu peux meme si tu veux en reccuperer plusieurs ....
voila
@+
Dans le meme genre tu as aussi getFileName et getClassName sur les elements de la stack comme dans
... at maClasse ( MaCLasse:100);
@+
et je viens de voir qu'il y a aussi getMethodName()
Voila avec tout ca tu dois pouvoir réussir à faire ce que tu veux.
Merci, jpense pouvoir arriver a faire ce que je souhaite !
Merci beaucoup !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager