• [^] # Re: Quelques commentaires

    Posté par (site web personnel) . En réponse au journal Python 2.5 beta 2. Évalué à 4.

    Euh, globalement je préfères oublier l'astuce (et donc ne pas l'utiliser), que d'oublier de fermer mon fichier hein :)
    De plus une écriture "naïve" aurait pu conduire à faire :

    FileWriter fileWriter = new FileWriter("toto.log");
    //somework
    fileWriter.Close();
    Et si une erreur survient pendant l'utilisation du fichier ? (genre erreur d'entrée/sortie)
    L'avantage de cette syntaxe, c'est qu'elle t'assure que ton fichier soit fermé, même si une exception est levée au milieu du using.
    Tu trouves ca plus élégant d'écrire :

    FileWriter fileWriter = new FileWriter("toto.log");
    try{
    // some work

    }
    finally
    {
    fileWriter.Close();
    }

    Non franchement c'est pas plus joli, le using est bien plus simple à comprendre.

    Je suppose que tu as le même avis sur la boucle foreach et yield ?
    Je suppose que tu n'aimes pas non plus le garbage collector qui nettoie la mémoire par magie ? D'ailleur tu n'aimes pas non plus le C++ car il appelle automatiquement le destructeur d'une variable déclarée localement ? (ce qui correspond grosso-modo au using ici)