|
|||||||
| Débats Les débats et sondages sur le langage et les technologies Java |
|
|
Publicité ' | |||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#101 | |
|
Membre éclairé
![]() ![]() Inscription : décembre 2005 Messages : 315 ![]() |
Citation:
Ce que je voulais dire par "Pas de hiérarchie commune" c'est aucune hiérarchie spécialisée. Il est évident que tout objet hérite de Object, et que toute exception hérite de Exception, mais sincèrement, il y a nombre de cas dans lesquels ce n'est pas exploité. Nombre de traitements d'exceptions se contentent d'appliquer un traitement "fonctionnel" à un nombre donné d'exceptions sans récupérer quoi que ce soit de l'objet Exception réellement émis. (sans compter les exception simplement ignorées ou relayées, mais ce n'est pas le sujet ici) |
|
|
|
00
|
|
|
#102 | ||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
Dans les deux cas tu aurais accès à toutes les méthodes standard des exceptions ce qui est amplement suffisant dans la plupart des cas... Maintenant si tu as besoin d'utiliser des méthodes spécifiques à l'un ou l'autre des exceptions cela signifie que tu n'as pas un traitement commun et donc il faut utiliser deux catch ! Citation:
![]() a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||
|
00
|
|
|
#103 | |||
![]() ![]() |
Citation:
Tu veux surement parler de instanceof : Code :
if(e instanceof Exception1 || e instanceof Exception2)
__________________
Développeur Java / Flex à Shanghai, Chine mes publications Mon dernier tutoriel : Messages Quit IRC : explications La rubrique IRC recrute des redacteurs : contactez moi Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE] |
|||
|
|
00
|
|
|
#104 | |||
![]() ![]() |
Citation:
Code :
F.
__________________
Développeur Java / Flex à Shanghai, Chine mes publications Mon dernier tutoriel : Messages Quit IRC : explications La rubrique IRC recrute des redacteurs : contactez moi Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE] |
|||
|
|
00
|
|
|
#105 | |||
![]() ![]() Consultant informatique Inscription : février 2004 Messages : 1 192 ![]() |
Citation:
Avoir un catch commun est intéressant pour faire des actions communes. Mais c'est vrai que dans ce cas ce n'est pas très efficace autant avoir 2 catchs et éventuellement une méthode pour les actions communes. Surtout que la résolution de la signature d'une méthode se faisant a la compile, il est inutile de tenter une ruse avec la surcharge.. Bulbo
__________________
[Java] [NetBeans] [CVS] La FAQ Java Merci de ne pas me poser de questions techniques par MP. !! J'aurais voulu être une conserve !! |
|||
|
|
00
|
|
|
#106 | ||||
|
Membre éclairé
![]() ![]() Inscription : décembre 2005 Messages : 315 ![]() |
Citation:
Citation:
A mon avis, cela mérite une nouvelle exception. |
||||
|
|
00
|
|
|
#107 | |
![]() ![]() |
Citation:
Je ne vois pas où l'intêret de cette syntaxe peut se révèler parceque soit on catch deux exceptions proches dans le même bloc ce qui revient à catcher l'exception mere, soit on catch deux exceptions très "lointaines" dans deux blocs, ce que l'on fait déjà dans notre code actuellement... ![]() F.
__________________
Développeur Java / Flex à Shanghai, Chine mes publications Mon dernier tutoriel : Messages Quit IRC : explications La rubrique IRC recrute des redacteurs : contactez moi Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE] |
|
|
|
00
|
|
|
#108 | |
![]() ![]() |
Citation:
On est d'accordsur ce point. Alors si malgré toute la logique que tu as mise dans ta phrase, je décide quand même d'écrire ceci, que se passe-t-il ? F.
__________________
Développeur Java / Flex à Shanghai, Chine mes publications Mon dernier tutoriel : Messages Quit IRC : explications La rubrique IRC recrute des redacteurs : contactez moi Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE] |
|
|
|
00
|
|
|
#109 | ||||
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 253 ![]() |
Dans ce cas d'utilisation, je ne vois qu'une possibilité, moi : considérer e comme une Exception.
Code :
Le multiple-catch doit être la contraction de ceci et uniquement ceci : Code :
|
||||
|
|
00
|
|
|
#110 | |||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2003 Messages : 3 293 ![]() |
Citation:
Vincent
__________________
Vincent Brabant Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide. |
|||
|
|
00
|
|
|
#111 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 253 ![]() |
Eh bien oui, la variable récupérée doit donc être de type Exception (ou au moins le plus grand ancêtre commun).
Je ne comprends pas alors la réaction de Mavina : l'exception attrapée ne peut pas avoir de méthode getSQLState() sans être castée. |
|
|
00
|
|
|
#112 | |
![]() ![]() |
Citation:
Alors quel intérêt ? De plus tu parles de cast, il faudrait savoir : tu peux pas caster l'exception SQLException | IOException sans faire un instanceof pour être sur que c'est bien l'une ou l'autre... F.
__________________
Développeur Java / Flex à Shanghai, Chine mes publications Mon dernier tutoriel : Messages Quit IRC : explications La rubrique IRC recrute des redacteurs : contactez moi Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE] |
|
|
|
00
|
|
|
#113 | |||
![]() ![]() Consultant informatique Inscription : février 2004 Messages : 1 192 ![]() |
Citation:
Code :
Bulbo
__________________
[Java] [NetBeans] [CVS] La FAQ Java Merci de ne pas me poser de questions techniques par MP. !! J'aurais voulu être une conserve !! |
|||
|
|
00
|
|
|
#114 | |||||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
De plus cela peut "cacher" d'autres exceptions : le compilateur ne t'avertira pas en cas où il y a d'autre exception "non traité" (que tu pourrais vouloir traiter différemment) puisque tu les traites toutes... Concretement : Code :
Code :
Cela peut particulièrement être utile avec des APIs utilisant de multiples exceptions (comme c'est le cas pour la reflection), puisque cela te permet de regrouper les exceptions dans des groupes plus généraux (les erreurs de config, les erreurs de dev, les erreurs "rattrapables", ...). a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|||||
|
00
|
|
|
#115 | |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 73 ![]() |
Citation:
!!!... L'intétêt d'avoir une syntaxe spéciale est justement de pouvoir catcher des exceptions qui ne sont pas communes. Faire un traitement pour des exceptions avec des ancêtres communs c'est déjà possible, pas besoin d'un débat pour cela...
|
|
|
|
00
|
|
|
#116 | |||||||
![]() ![]() |
Citation:
Code :
Donc si je veux faire ca je dois traiter séparément mes exceptions, même si hormis le SQLState je fais exactement le même traitement sur mes exceptions ? F.
__________________
Développeur Java / Flex à Shanghai, Chine mes publications Mon dernier tutoriel : Messages Quit IRC : explications La rubrique IRC recrute des redacteurs : contactez moi Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE] |
|||||||
|
|
00
|
|
|
#117 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 253 ![]() |
Selon ma vision de la chose, je réponds oui à tes trois questions.
|
|
|
00
|
|
|
#118 | ||
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 73 ![]() |
Pourquoi pas une syntaxe qui se rapprocherait du switch case adapté pour le catch ... car perso pas vraiment convaincu par les syntaxes proposées.
Code :
Ça ne résous pas les problèmes cités ci-dessus (utilisation de méthodes spécifiques), mais ça je crois pas que ce sera possible dans quelconque syntaxe proposée... |
||
|
|
00
|
|
|
#119 |
![]() ![]() ![]() Inscription : octobre 2003 Messages : 7 920 ![]() |
En faisant comme ca, tu imposes un traitement commun à toute une hiérarchie, y compris des classes d'exceptions que tu serais amené à créer par la suite. (on en revient alors au problème du catch (Exception) déjà évoqué).
__________________
Hébergement Java et démos - Cours Java - FAQs Java - Blogs Java - Notre sélection d'évènements Java Rejoignez le JUG |
|
00
|
|
|
#120 | |||||
![]() ![]() Pierre CabocheInscription : octobre 2005 Messages : 2 330 ![]() |
Citation:
Code :
Dans ce cas, alors, pourquoi ne pas étendre le principe à d'autres types de variables que les exceptions ? Comme ceci : Code :
__________________
Derniers articles: (SQL Server) Introduction à la gestion des droits (UML) Souplesse et modularité grâce aux Design Patterns (UML) Le Pattern Etat Autres articles... |
|||||
|
00
|
Copyright © 2000-2013 - www.developpez.com