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

Windows Forms Discussion :

[C#] Gestion d'exception


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Points : 92
    Points
    92
    Par défaut [C#] Gestion d'exception
    Bonjour,
    je voudrais votre avis sur une question, en espérant que c'est le bon endroit pour mettre ce post.

    mon but était de : si la valeur de ma datagrid est dans mon dropdownlist je l'affiche sinon j'affiche la valeur par défaut.

    le code ci-dessous marche, mais un collègue m'a dit que ce n'était pas propre, pourquoi? j'ai économisé une boucle for.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try
    {
           DropDownList3.SelectedValue=
    DataGrid2.Items[SelectRow].Cells[8].Text;	
    }
    catch
    {
    }
    @+
    ALCINA

  2. #2
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    la valeur par defaut est mise dans le catch?

    si oui, effectivement c'est pas ideal car il faut limiter l'utilisation d'exeptions a des evenements exeptionnels mettant en danger le fonctionnement normal du programme, c'est un procede qui coute beaucoup en terme de performances, nettement plus qu'une boucle For

    sinon j'ai pas compris et il manque du code

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Points : 92
    Points
    92
    Par défaut
    merci pour ta réponse,
    sinon il ne manque pas de code puisque quand on met rien dans la dropdownlist il met la valeur par défaut.

    ça c'était un cas précis, mais je voulais juste savoir dans le cas général, donc tu as bien répondu à ma question, néanmoins quelles sont les différences de performances.

    @+
    ALCINA

  4. #4
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Le for est une simple iteration dans une liste d'elements,

    La levee d'exeptions est comme je l'ai dit uniquement un moyen d'intercepter des erreurs:

    The terms, error and exception, are often used interchangeably. In fact, an error, which is an event that happens during the execution of code, interrupts or disrupts the code's normal flow and creates an exception object. When an error interrupts the flow, the program tries to find an exception handler — a block of code that tells it how to react — that will help it resume the flow. In other words, an error is the event; an exception is the object that the event creates.

    Programmers use the phrase "throwing an exception" to mean that the method in question encountered an error and reacted by creating an exception object that contains information about the error and when/where it occurred. Factors that cause errors and subsequent exceptions include user error, resource failures, and failures of programming logic. Such errors are related to how the code undertakes a specific task; they are not related to the purpose of the task.

    For the purpose of this article, "exception handling" means interpreting and reacting to the exceptions created by errors.
    Extrait de l'article suivant ou on te dira exactement quand utiliser une structure de controle (If, For...) et quand utiliser une exeption
    http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchExceptionsErrorsInVisualBasicNET.asp



    C'est un mecanisme complexe:

    Although structured exception handling is useful, you should use it exclusively for exceptions. An exception is not necessarily an error, but it should be something that happens infrequently and is not expected in normal operation. Throwing exceptions takes more processing time than testing and branching, for example using a Select construction or a While loop. Exceptions also make your code harder to read when used for normal flow control. You should not use them as a way of branching or returning values.
    extrait de l'article pour l'amelioration des perfs de .net que je copnseille a tous:
    http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchperfopt.asp

    Si tu souhaite mesurer la difference, chronemetre un gros echantillon de code utilisant les structures de controles et un autre code utilisant les exeptions (verifie aussi la charge imputee au garbage collector)

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Points : 92
    Points
    92
    Par défaut
    mille merci pour ces infos.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int i=0;i<1000;i++)
    {
       printf("merci\n");
    }
    @+

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

Discussions similaires

  1. [ADOConnect] gestion des exception en tout temps
    Par portu dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/04/2005, 20h01
  2. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    Réponses: 6
    Dernier message: 19/08/2004, 16h06
  3. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 18h25
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 18h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 15h11

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