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 :

finally et throw dans le catch ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 63
    Par défaut finally et throw dans le catch ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    try{
    ...
    }
    catch(Exception e){
     throw new MonException();
    }
    finally{
     ...
    }
    Je suppose que si j'ai une exception dans le bloc try le finally ne sera pas executé ? si ?

  2. #2
    Membre expérimenté
    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 : 47
    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
    Par défaut
    Citation Envoyé par jph_void Voir le message
    Je suppose que si j'ai une exception dans le bloc try le finally ne sera pas executé ? si ?
    Commence par regarder la documentation MSDN à ce sujet. Ou bien fait le test, En quelques secondes tu aurais eu la réponse.


  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Rien que le mot clé Finally aurait-du t'interpeler.

    LE code situé dans le Finally sera toujours exécuté, y compris si, après déclenchement d'une exception et donc passage dans le Catch, une seconde exception est déclenché dans celui-ci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 63
    Par défaut
    Citation Envoyé par StormimOn Voir le message
    Commence par regarder la documentation MSDN à ce sujet. Ou bien fait le test, En quelques secondes tu aurais eu la réponse.

    Ouais j'aurais pu tester, ouais il y msdn où c'est tellement bordelique que je trouves toujours pleins de réponses à des questions que je ne m'étais jamais posées... ouais ok.
    A la limite la prochaine fois je viendrais poster un truc du genre : "Alors je me posais une question qui est '...' mais heureusement grâce à tout l'internet sauf à developpez.net j'ai trouvé une solution qui est : '...', donc je vous la poste sur developpez.net pour que vous ayez pas à chercher sur le reste du net. Fin voila c'est dommage que ce site soit aussi grincheux.

  5. #5
    Membre expérimenté
    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 : 47
    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
    Par défaut
    Ouais j'aurais pu tester, ouais il y msdn où c'est tellement bordelique que je trouves toujours pleins de réponses à des questions que je ne m'étais jamais posées... ouais ok.
    Oui tu aurais pu tester, tu aurais eu la réponse très rapidement. Oui la MSDN est parfois bordélique, mais sous google tu cherches avec C#finally et le premier lien qui tombe pointe sur la MSDN avec la gestion du try-catch. Ca prend 30 secondes, à condition d'être un peu autonome et ne pas attendre que tout tombe du ciel.

    Fin voila c'est dommage que ce site soit aussi grincheux.
    Que tu me traites de grincheux passe encore, mais cela n'a rien à voir avec le site, ne mélange pas tout ... Désolé si lorsque je vois une question qui ne devrait pas être posée (car là c'est vraiment basique de chez basique, gestion try-catch) je fais remarquer à la personne qu'avec un tout petit effort personnel la réponse est à portée de main.

    Il y a beaucoup de questions de cet acabit et c'est dommage. Je veux bien être traité de grincheux si ça permet de faire réagir certains et qu'ils commencent un peu à chercher d'eux même les réponses lorsque c'est évident.

    La prochaine personne qui vient demander comment on additionne 2 et 2 avec C# on doit faire quoi ? La prendre par la main ? Ou bien lui conseiller de chercher d'elle même car cela lui apportera bien plus ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Par défaut
    Je viens de me poser une question un peu similaire, Google m'a orienté vers ce post. Et ce qu'il arrive c'est que je tombe sur une réponse du genre : va voir Google / va voir la MSDN.
    Il n'y a pas que le mec qui a posé la question que ça soule...

    Ma question était quelle est la différence entre finally et rien du tout (derrière le "End Try" si en VB.NET), mais je vais plutôt aller voir ailleurs si j'y suis.

  7. #7
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    je tombe sur une réponse du genre : va voir Google / va voir la MSDN.
    oui, ça c'est dans la première réponse

    Mais dès le seconde réponse, tu avais la réponse à ta question que tu pose quand même (tout comme dans la MSDN d'ailleurs)

    D'une part le finaly se mettra toujours avant le End Try et d'autre part
    LE code situé dans le Finally sera toujours exécuté,
    qu'il y ait déclenchement d'une exception ou pas

Discussions similaires

  1. solution pour insérer plusieur throw dans try catch
    Par keokaz dans le forum Langage
    Réponses: 4
    Dernier message: 09/03/2013, 18h39
  2. [debutant] exception: ca ne rentre pas dans le catch
    Par oliv23 dans le forum Débuter
    Réponses: 6
    Dernier message: 14/03/2007, 17h18
  3. Réponses: 13
    Dernier message: 27/02/2007, 23h00
  4. throw dans un prototype
    Par Bayard dans le forum C++
    Réponses: 9
    Dernier message: 09/12/2006, 19h00
  5. Réponses: 3
    Dernier message: 18/08/2006, 12h11

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