|
|||||||
| Débats Les débats et sondages sur le langage et les technologies Java |
|
|
Publicité ' | |||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#41 |
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 678 ![]() |
D'ailleurs je viens de faire gaffe que pour ma proposition de syntaxe, il serait même plus logique de faire la déclaration de l'exception en premier:
Code :
catch(Exception e : InstantiationException, IllegalAccessException) |
|
|
00
|
|
|
#42 |
|
Membre expérimenté
![]() ![]() |
Pour. Effectivement la syntaxe est peut etre à revoir.
Mes souvenirs de C++ commence à être un peu flou,mais je crois me souvenir que le C++ utilise le séparateur ',' depuis le début ? non ? |
|
00
|
|
|
#43 |
|
Membre habitué
![]() |
Pour, mais en changeant "|" pas une ",".
|
|
|
00
|
|
|
#44 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 1 663 ![]() |
Pour. J'attends ça depuis longtemps.
__________________
Les brevets ? Le type qui a inventé l'eau chaude doit être grave blindé de thunes ! |
|
|
00
|
|
|
#45 |
|
Membre actif
![]() Hugo CAPOCCIDéveloppeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm Inscription : octobre 2005 Messages : 100 ![]() |
Soit j'ai mal compris la proposition, soit je ne comprends pas l'utilité...
pour catcher plusieurs exceptions d'un coup, il y a l'héritage ! |
|
00
|
|
|
#46 |
|
Membre habitué
![]() Développeur informatique Inscription : août 2006 Messages : 221 ![]() |
Pour, c' est vrai que pour plusieurs exceptions catchées on veuille faire les même s traitements => diminution de code.
|
|
|
00
|
|
|
#47 | |||
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 678 ![]() |
Citation:
Citation:
Nulle par en Java une variable n'existe sans que son type soit explicitement spécifié. Pas même dans le foreach (for(String str : listeDeString)) où ce serait tout à fait possible. Je ne pense pas qu'il faille changer ça surtout, pour une modification assez mineure. Citation:
|
|||
|
|
00
|
|
|
#48 |
|
Membre actif
![]() Hugo CAPOCCIDéveloppeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm Inscription : octobre 2005 Messages : 100 ![]() |
J'avais pas pensé aux exceptions de type NullPointer, IO etc que l'on risque de rameuter avec un simple catch(Exception e)... mais là encore
Au final je dirais ni pour ni contre car ce serait un petit plus pour certains, certes, mais pour ceux qui passent par un IDE comme moi on s'en fout pas mal, à moins de tomber sur une méthode renvoyant pléthore d'exceptions (plus de 4-5, ce qui me parait extremement rare) et là à mon avis y'a un soucis dans la conception de la-dite méthode. Pour les codeurs "à la mano", c'est un gain assez intéressant mais carrément gadget par rapport aux avancées de Java 5 (foreach/autoboxing/polymorphisme paramétrique => vrai gain en temps de codage ET en lisibilité) |
|
00
|
|
|
#49 |
|
Membre Expert
![]() ![]() Inscription : février 2004 Messages : 1 833 ![]() |
Pour mais ça serait plus joli avec une virgule (quoi je suis chiant ?)
|
|
|
00
|
|
|
#50 |
|
Membre expérimenté
![]() Inscription : juillet 2007 Messages : 729 ![]() |
|
|
|
00
|
|
|
#51 | |
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 678 ![]() |
Citation:
- Ca plombe inutilement la lisibilité si le bloc catch fait plus de 3/4 lignes - Si on fait une modif dans un catch il ne faut pas oublier de la reporter dans les autres. - Quelqu'un qui ne connait pas encore le code va devoir regarder attentivement pour finalement se rendre compte que les deux catchs sont identiques. La solution que j'utilise en général est de faire une méthode proccessException(...variables nécéssaires...) appelée par chacun des catch: ca limite la duplication de code a une seule ligne mais ce n'est quand même pas particulièrement élégant. |
|
|
|
00
|
|
|
#52 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2003 Messages : 20 ![]() |
Je suis d'accord avec ce changement et, contrairement a d'autre, je n'ai rien du tout contre la syntaxe.... apres tout, | veut dire "ou"
|
|
|
00
|
|
|
#53 | |
|
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
|
|
|
#54 |
|
Membre confirmé
![]() Inscription : mars 2007 Messages : 259 ![]() |
Contre pour ma part, si les différentes Exceptions ont une classe parente commune autre que Exception, on catche cette classe mère tout betement, sinon de quel type sera l'exception catchée ? Le compilateur le détermine au pif ?
Et si les 2 exceptions n'ont rien de commun, a ce moment ca n'a pas vraiment de sens de les catcher explicitement, autant catcher Exception |
|
|
00
|
|
|
#55 | ||
![]() ![]() Inscription : octobre 2003 Messages : 7 924 ![]() |
Citation:
Citation:
Encore une fois, ce n'est que du sucre syntaxique. Le compilateur ne va rien faire d'autre que de traduire cela en plusieurs blocs catch comme s'ils avaient été écris. A aucun moment il n'y aurait de catch (ExceptionMere) généré.
__________________
Hébergement Java et démos - Cours Java - FAQs Java - Blogs Java - Notre sélection d'évènements Java Rejoignez le JUG |
||
|
00
|
|
|
#56 | ||||
|
Membre expérimenté
![]() Inscription : juillet 2006 Messages : 548 ![]() |
Et là le compilateur il dit quoi?
Code :
Et dans ce cas là? Est ce qu'il renvoie une erreur parce que Throwable n'est jamais lancée? Code :
|
||||
|
|
00
|
|
|
#57 | ||
![]() ![]() Inscription : octobre 2003 Messages : 7 924 ![]() |
Il dit erreur de compilation processException est susceptible de lancer un Throwable pour MonExcFille1, comme si tu écrivais
Code :
__________________
Hébergement Java et démos - Cours Java - FAQs Java - Blogs Java - Notre sélection d'évènements Java Rejoignez le JUG |
||
|
00
|
|
|
#58 | ||||||
|
Membre expérimenté
![]() Inscription : juillet 2006 Messages : 548 ![]() |
Et avec le try catch imbriqué, il te donne aussi une erreur (Throwable is never thrown)...
Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#59 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 4 ![]() |
Contre.
À mon avis,
|
|
|
00
|
|
|
#60 | |
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 678 ![]() |
Citation:
C'est vrai qu'il y a une notion de "ou" et que "||" peut sembler plus adapté car il fait un ou logique. Mais "|" et "||" sont tous deux en JAVA des opérateurs, ce qui signifie qu'ils sont sensés transformer leurs opérandes en un résultat qui sera traité. Au début je me suis dit ok on peut se dire que le "|" entre 2 classes retourne le premier parent commun donc IOException|SQLException vaut Exception. Dans ce cas là "|" est en effet plus adapté que "||" qui retourne un booleen quels que soient ses opérandes. Mais ici "|" n'est clairement pas un opérateur. En effet tout l'interet de cette proposition c'est que catch(IOException | SQLException e) ne doit pas être équivalent à catch(Excpetion e). Donc "|" a bien une effet de séparateur, pas d'opérateur. Dans le role du séparateur, la "," ou le ";" sont tout a fait indiqués plutot que donner a "|" un role de séparateur dans un catch et d'opérateur partout ailleurs. |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com