IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Using versus Finally


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 84
    Points : 75
    Points
    75
    Par défaut Using versus Finally
    Bonjours,

    je voulais savoir quel intéret il y aurait à utiliser using plutot que finally pour libérer des ressources.

    exemple des deux cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    (using StreamWriter stream = new StreamWriter(file))
    {
         code...code...code
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    StreamWriter  stream = null;
    try
    {
         stream = new StreamWriter(file)
         code...code...code
    }
    catch (Exception e)
    {
         throw ee;
    }
    finally
    {
         stream.Close();
    }

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    L'instruction using est uniquement utilisable avec les objets implémentant l'interface IDisposable.

    Dans les autres cas il faut donc utiliser un try / finally avec une clause catch si besoin.

    On peut très bien imaginer devoir utiliser des objets n'implémentant pas IDisposable mais possédant une méthode qu'il faut appeler systématiquement, qu'il y ai eu une erreur ou non, pour finaliser un traitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débat] MERISE versus UML ? Avenir de MERISE ?
    Par Matthieu Brucher dans le forum Méthodes
    Réponses: 51
    Dernier message: 15/02/2022, 17h32
  2. C# versus Java
    Par laffreuxthomas dans le forum C#
    Réponses: 368
    Dernier message: 30/03/2019, 22h59
  3. Final Fantasy Versus VII [Recrutement]
    Par Cloud-Ultima dans le forum Projets
    Réponses: 11
    Dernier message: 09/12/2007, 16h38
  4. Connaitre l'unitée à ajouter dans USES
    Par DelphiCool dans le forum Langage
    Réponses: 7
    Dernier message: 01/08/2002, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo