Séparer une exception en deux - Java - Programmation
Marsh Posté le 04-05-2006 à 17:29:37
oui mais si je veux afficher un message a moi, est ce que je ne peux pas savoir quelle exception j'intercepte pour pouvoir mettre le message que je veux ?
Par exemple si la connection au serveur SMTP ne peut pas faire, sfe.getMessage() donne ça :
Sending failed;
nested exception is:
class javax.mail.MessagingException: Could not connect to SMTP host: mail.xxx.fr, port: 25;
nested exception is:
java.net.NoRouteToHostException: No route to host: connect ]
Je trouve que c'est un peu long et compliqué, non ?
Edit : Mais surtout ce que j'ai oublié de dire, c'est que les traitements suite à ses erreurs sont différents.
En effet, si c'est une erreur du serveur de mail, alors on essaie d'envoyer le message tant que sa date de validité est bonne, une fois dépassée on supprime le message.
si c'est une erreur dans l'adresse mail, on supprime le message.
Marsh Posté le 04-05-2006 à 17:31:05
euh tant que j'y suis
ça veut dire quoi exactement nested exception ?
merci
Marsh Posté le 04-05-2006 à 17:36:08
mayalu a écrit : oui mais si je veux afficher un message a moi, est ce que je ne peux pas savoir quelle exception j'intercepte pour pouvoir mettre le message que je veux ? |
Le probleme c'est que le meme type d'exception reflete deux erreurs (ou plus je sais pas en fait) donc pour les messages perso tu peux pas te baser sur le type d'exception pour différencier ton message (ce que ferait de toute facon le try catch). Regarde si y'a des champs ou des méthodes particulieres dans cette exception qui pourraient te permettre de distinguer les cas. Sinon, les nested exception ce sont les exceptions "d'origines", et elle pourraient te permettre de différencier les erreurs.
Marsh Posté le 04-05-2006 à 18:03:43
getCause()? et en fonction de ca tu peux faire des traitements separes ?
Marsh Posté le 04-05-2006 à 17:15:36
Bonjour,
voici mon code :
Cette fonction est appellée dans une autre classe ou je traite les exceptions.
Mon problème c'est que j'intercepte l'exception SendFailedException pour 2 types d'erreurs :
- si le serveur SMTP ne répond pas
- si l'adresse du destinataire n'est pas bonne
Donc je voudrais pouvoir afficher des messages appropriés dans chaque cas d'erreur, comment puis je faire ?
Je m'y suis peut être mal prise, dites le moi
Merci par avance
Message édité par mayalu le 04-05-2006 à 17:26:09