Rattraper une exception qui n'en est pas une - Java - Programmation
Marsh Posté le 29-03-2004 à 19:26:57
Rhoooo, il y a un goret qui a mis un exit après avoir fait un stacktrace
Marsh Posté le 29-03-2004 à 19:36:31
ReplyMarsh Posté le 29-03-2004 à 20:16:13
benou a écrit : j'ai rien compris ... |
Je pense que monsieur confond la chaîne de cause des exceptions et les noms des méthodes dans la tacktrace. Ou alors il a désigné l'étage ou il veut arrêter (catch) la remontée ou débugger.
Oué en fait j'en sais pas plus que toi ...
Marsh Posté le 30-03-2004 à 09:19:04
- y'a pas de exit
- je ne confonds rien
ce truc apparait dans aucun stacktrace... il ne rentre dans aucun cas de catch, c'est un message d'erreur que je reçois lorsque je fais appel au driver jdbc et qu'il ne peut pas ouvrir de connexion.
si c'était une simple exception, je pense que je saurais comment la récupérer
donc comme c'est pas une exception, je ne sais pas comment récupérer cette erreur... et j'aimerais bien pouvoir le faire quand même
si c'est le premier code qui vous gêne, ne vous en occupez pas, il est juste là pour servir de témoin
d'ailleurs je vais l'enlever, hop.
Marsh Posté le 30-03-2004 à 11:06:22
Le pb vient pas du fait que le coder du driver jdbc à fait un e.printStackTrace(System.err) puis n'a pas relancé l'exception en l'enveloppant éventuellement dans une SQLException ?
Marsh Posté le 30-03-2004 à 11:08:40
C'est quelle version du driver jdbc, histoire d'aller lire les sources ?
Marsh Posté le 30-03-2004 à 12:09:20
http://java.sun.com/j2se/1.4.2/doc [...] rning.html
maintenant, c'est bizarre qu'il foute un warning et loggent un FATAL, mais bon
Marsh Posté le 30-03-2004 à 15:26:43
the real moins moins a écrit : http://java.sun.com/j2se/1.4.2/doc [...] rning.html |
le bon lien serait plutot ca nan ? http://java.sun.com/j2se/1.4.2/doc [...] Warnings()
Mais c'est assez surprenant qu'ils stacktaracent () une exception au sein du driver jdbc ....
Marsh Posté le 30-03-2004 à 15:29:47
benou a écrit : |
bah euh sur la doc de SQLWarning il est écrit ce que c'est et comment les retrouver, et y'a un @see Connection.getWarnings donc bon
Marsh Posté le 30-03-2004 à 15:35:37
the real moins moins a écrit : bah euh sur la doc de SQLWarning il est écrit ce que c'est et comment les retrouver, et y'a un @see Connection.getWarnings donc bon |
ouais, mais en lisant rapidement une première fois j'ai loupé l'info et j'ai cru que tu avais mal compris la question ... je précisais juste un peu les choses ...
Qu'est ce que t'en penses du stacktrace en dur dans le driver ? ca te parait pas louche à toi ?
Marsh Posté le 30-03-2004 à 15:36:37
benou a écrit : |
si
Marsh Posté le 30-03-2004 à 15:45:39
Code :
|
J'en vois tous les jours perso ...
Marsh Posté le 30-03-2004 à 15:50:03
ha boooon c'est comme ça qu'on imprime une stacktrace!? on savait pas tien!
j'en vois souvent aussi, mais bcp plus rarement dans du code de production
Marsh Posté le 30-03-2004 à 16:25:17
la version du jdbc est un jdbc pour postgres : pg73jdbc3.jar
version 3 pour postgresql 7.3
pour la portion de code suivante :
Code :
|
j'ai le retour suivant :
Code :
|
c'est donc bien ce que je récupère comme exception, n'en déplaise à mes tracteurs
et j'ai toujours pas trouvé de solution, mis à part un test sur le message, genre
Code :
|
Marsh Posté le 30-03-2004 à 16:29:38
haaa putain !
tout le monde avait compris que ct le driver qui avait imprimé l'exception !?!
je vois pas bien pourquoi tu voudrais plus recuperer cette exception là qu'une autre. tu peux pas te connecter, tu peux pas te connecter quoi
Marsh Posté le 30-03-2004 à 16:33:30
the real moins moins a écrit : bcp plus rarement dans du code de production |
c'est bien à ce niveau là que j'ai un doute.
Marsh Posté le 30-03-2004 à 16:35:14
predicator a écrit : il ne rentre dans aucun cas de catch, c'est un message d'erreur que je reçois lorsque je fais appel au driver jdbc et qu'il ne peut pas ouvrir de connexion. |
méga-
Marsh Posté le 30-03-2004 à 16:44:18
nraynaud a écrit : c'est bien à ce niveau là que j'ai un doute. |
nan mais logiquement les API sérieuses ne font pas ce genre de chose. Le driver jdbc postgres fait logiquement partie de cette catégorie ...
Marsh Posté le 30-03-2004 à 16:55:12
Citation : haaa putain ! |
j'avais pas compris que vous aviez compris... je croyais que vous gueuliez sur celui qui pose la question avant d'essayer de comprendre, comme le font beaucoup ici
gomen
the real moins moins a écrit : je vois pas bien pourquoi tu voudrais plus recuperer cette exception là qu'une autre. tu peux pas te connecter, tu peux pas te connecter quoi |
justement, ça peut être sympa de prévenir l'utilisateur qu'il ne peut pas se connecter pour l'instant parce qu'il n'y a plus de place... quand le nombre d'utilisateur est limité à 50 pour des raisons de ressources, et que ce nombre est fréquemment atteint, ça peut être utile non ?
Marsh Posté le 30-03-2004 à 16:56:23
benou a écrit : |
Avec les développements open source, c'est pas toujours sérieux
Marsh Posté le 30-03-2004 à 17:01:19
kadreg a écrit : |
roooh mais ta gueule avec tes trolls pourris
Marsh Posté le 30-03-2004 à 17:01:46
predicator a écrit : |
moins moins staÿle
Marsh Posté le 30-03-2004 à 17:06:27
benou a écrit : |
comme j'en vois tous les jours ici, je me doute bien que ça doit aussi être courant ailleur. Je suis même convaincu que certains ont ça dans leurs templates de catch().
Marsh Posté le 30-03-2004 à 17:16:19
bon ça tourne au pugilas, et puis on est à 300 bornes du problème initial... ma soluce crade marche, donc c'est pas la peine de vous battre pour rien...
Marsh Posté le 30-03-2004 à 17:19:02
DarkLord a écrit : |
ben non, tu peux rien faire !
ex.getMessage()
Apres, t'es emmerdé parce que le message est en anglais, mais là on en revient a l'eternel probleme de la traduction des messages d'exception, auquel il n'y pas de solution standard
Marsh Posté le 30-03-2004 à 17:20:12
ps: http://java.sun.com/j2se/1.3/docs/ [...] rrorCode()
avec le code d'exception spécifique à la db et des fichiers de resources pour les trads des messages qui t'interesse, tu te demerdes
Marsh Posté le 30-03-2004 à 17:25:48
ReplyMarsh Posté le 30-03-2004 à 17:39:46
predicator a écrit : bon ça tourne au pugilas, et puis on est à 300 bornes du problème initial... ma soluce crade marche, donc c'est pas la peine de vous battre pour rien... |
Quelle solution ??
Déjà que je comprends pas quel est ton problème ...
je cite :
Citation : C'est pas une exception, et je ne sais pas comment récupérer un truc comme ça. |
Le fait est que c'est une exception et que tu fais un catch (normal).
Donc, c'est quoi ton problème ????
Marsh Posté le 30-03-2004 à 17:41:46
benou a écrit : |
if (e.toString().indexOf(Sorry, too many clients already) != -1){ |
Marsh Posté le 30-03-2004 à 17:44:48
the real moins moins a écrit :
|
la ou ca va être beau, c'est si le message change a la prochaine release
Marsh Posté le 30-03-2004 à 17:45:33
lorill a écrit : la ou ca va être beau, c'est si le message change a la prochaine release |
Ca me rapelle un bug du plugin CVS dans eclipse
Marsh Posté le 30-03-2004 à 17:46:45
kadreg a écrit : |
ca me rappelle a moi que c'est mal d'utiliser les toString() des nodes en xml au lieu de getNodeValue()
Marsh Posté le 30-03-2004 à 17:48:51
lorill a écrit : la ou ca va être beau, c'est si le message change a la prochaine release |
c'est la dernière release pour postgresql 7.3
les autres sont pour postgresql 7.4 et 7.5...
je vais essayer de tester avec le getErrorCode, mais vu que c'est nulle part dans la doc du driver, je suis pas sûr qu'ils s'en servent...
enfin, à utilisation d'un driver crade, solution crade non ?
et puis j'ai mis une tâche pour pas perdre cet endroit de vu...
Marsh Posté le 30-03-2004 à 17:54:16
the real moins moins a écrit :
|
j'avais pas vu
T'as vérifié que le type excate de l'exception n'est pas une sous exception de SQLException ?
Marsh Posté le 30-03-2004 à 17:58:44
benou a écrit : |
c'est daill'eurs probablement une PGSQLException
Marsh Posté le 15-04-2004 à 15:48:54
predicator a écrit : - y'a pas de exit |
Essai de catcher un Throwable au lieu de Exception,
c'est un cran au-dessus dans la hiérérchie des classes.
En général il faut les laisser passer car c'est des erreurs graves.
Marsh Posté le 21-04-2004 à 12:28:44
Code :
|
= > Pas de problème de maintenance, et respect total de l'utilisateur.
Marsh Posté le 29-03-2004 à 18:27:38
Salut, je voudrais savoir si vous savez comment rattraper une erreur qui vient d'un driver jdbc...
C'est pas une exception, et je ne sais pas comment récupérer un truc comme ça.
je n'ai jamais vu ça avant, et je n'ai rien trouvé en faisant une recherche...
merci d'avance
Message édité par Predicator le 30-03-2004 à 09:21:26