> Ah le finally n'existe pas en Java ?
J'ai dis ça où ? nulle part.
J'ai juste dit que je n'ai pas rajouté la gestion de la fermeture de fichier dans le code Java.
> Je croyais que c'était python qui avait un gestion bancale des exceptions jusqu' à la 2.5
Oui, et ? Python 2.5 est sorti en 2006 (avec with en preview).
Sinon, Python 2.6 introduit une gestion des exceptions encore plus élégante avec with.
> ce qui obligeait à imbriquer 2 blocs try pour obtenir la même chose que try..catch..finally.
Pour dans le cas en question, Java t'impose d'imbriquer 2 blocs try (ou de renvoyer une exception), le premier pour gérer l'exception à l'ouverture du fichier, et un second pour fermer le fichier en cas d'erreur de lecture.
Donc mauvais exemple, sinon les constructions try/except/else ou try/finally suffisait pour la plupart des besoins. Je reconnais que quand on avait besoin d'une structure type try/catch/finally, c'était lourdingue d'où l'unification sous Python 2.5.
Même si traiter les exceptions est une bonne chose, Python ne te force pas à le faire, parfois, ça devient très vite lourdingue en Java. Je trouve with est une solution relativement élégante, un peu à la manière de l'idiome RAII en C++ (dont il s'inspire).
Et on pourrait arrêter cette gueguerre Java/Python ? Je ne vois en quoi dire que Python est plus concis que C, C++ ou Java reviendrait à dénigrer ces langages.
[^] # Re: Critique
Posté par GeneralZod . En réponse au journal Explorez les richesses du langage Python. Évalué à 2.
J'ai dis ça où ? nulle part.
J'ai juste dit que je n'ai pas rajouté la gestion de la fermeture de fichier dans le code Java.
> Je croyais que c'était python qui avait un gestion bancale des exceptions jusqu' à la 2.5
Oui, et ? Python 2.5 est sorti en 2006 (avec with en preview).
Sinon, Python 2.6 introduit une gestion des exceptions encore plus élégante avec with.
> ce qui obligeait à imbriquer 2 blocs try pour obtenir la même chose que try..catch..finally.
Pour dans le cas en question, Java t'impose d'imbriquer 2 blocs try (ou de renvoyer une exception), le premier pour gérer l'exception à l'ouverture du fichier, et un second pour fermer le fichier en cas d'erreur de lecture.
Donc mauvais exemple, sinon les constructions try/except/else ou try/finally suffisait pour la plupart des besoins. Je reconnais que quand on avait besoin d'une structure type try/catch/finally, c'était lourdingue d'où l'unification sous Python 2.5.
Même si traiter les exceptions est une bonne chose, Python ne te force pas à le faire, parfois, ça devient très vite lourdingue en Java. Je trouve with est une solution relativement élégante, un peu à la manière de l'idiome RAII en C++ (dont il s'inspire).
Et on pourrait arrêter cette gueguerre Java/Python ? Je ne vois en quoi dire que Python est plus concis que C, C++ ou Java reviendrait à dénigrer ces langages.