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 :

Un petit probléme avec les Exceptions


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 24
    Par défaut Un petit probléme avec les Exceptions
    Salut

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public string Prenom 
    {
              get { return prenom; }
              set {
                        if (value == null || value.Trim().Length == 0) {
                             throw new Exception("prénom (" + value + ") invalide");}
                        else {prenom = value;}
                    }
    }
    Parfois le compilateur dit que
    l'Exception n'a pas été gérée ...
    Comment je peux résoudre ce probléme ?!

    Merci de m'aider.

  2. #2
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    L'exception est dite "non gérée" si aucune couche appelante ne la traite par un try catch.
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  3. #3
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 24
    Par défaut
    Bonjour,
    Merci benji_dv
    mmm...je n'ai pas encore compris le probléme
    voici un petit code ,et PLZ dit moi ou le probléme

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace Exemple
    {
    classProgram
    {
    //
    classPersonne
    {
    int age;
    string nom;
    //
    publicint Age
    {
    get { return age; }
    set
    {
    if (value <= 0)
    thrownewException("L'ge " + value + " invalide");
    else
    age = value;
    }
    }
    //
    publicstring Nom
    {
    get { return nom; }
    set
    {
    if (value == null || value.Trim().Length == 0)
    thrownewException("Le Nom " + value + " invalide");
    else
    nom = value;
    }
    }
    }
    //
    staticvoid Main(string[] args)
    {
    Personne pers = newPersonne();
    Console.Write("Donnez L'ge : ");
    pers.Age = int.Parse(Console.ReadLine());
    Console.Write("Donnez le nom : ");
    pers.Nom = Console.ReadLine();
    //
    Console.ReadLine();
    }
    }
    }
    

  4. #4
    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
    Le problème c'est que tu lèves une exception et que tu ne sais pas qu'il faut le gérer ensuite. Tu utilises un outil sans savoir à quoi il sert et comment l'utiliser en gros

    Un peu de lecture sur le try/catch devrait aider, les exemples étant clairs je pense

  5. #5
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Z'aurais pas mieux répondu !
    Le framework est truffé de belles mécaniques... encore faut il savoir les gérer et les utiliser, sans quoi ... pandore te perdra lol

    Non sans blague,
    une exception est un mécanisme bloquant le fonctionnement de l'application. Ces dernières ne sont pas anormales dans une application, mais doivent :
    - etre utilisées à bon escient,
    - etre gérées par le code appelant (try catch) afin de traiter les erreurs (parfois le traitement étant limité à un affichage à l'utilisateur.

    Il faut du temps (pour beaucoup de développeurs) pour apréhender et utiliser correctement les exceptions.

    Recherche des articles, et renseigne toi ! de nombreuses sources pertinentes existent.

    Pour te donner un point de départ :
    Une exception est une erreur d'exécution du code. Elle peut être générée par .net ou par toi.
    Lorsque tu renvois une exception, cette dernière va traverser toutes les couche appelantes.
    Exemple : j'ai la méthode 1 qui appelle la méthode 2, qui appelle la méthode 3,
    Cette dernière génère une exception et la throw !
    l'exception n'est pas traitée par la méthode 2 (ou le traitement ne permet pas d'anihiler l'exception, donc cette dernière est renvoyée à la méthode 1.
    Si cette dernière ne traite pas l'exception (try/catch/finally), cette dernière est renvoyée par .net à la couche la plus haute : dans ton cas la console !

    Voilou, en gros, mais il me faudra bien plus qu'un post pour expliquer ce cas.

    Cherche des exemples, et tuto,
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  6. #6
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 24
    Par défaut
    Maintenant, je comprends
    Merci bcp

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

Discussions similaires

  1. Problème avec les exceptions
    Par shenron666 dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 11/10/2006, 12h53
  2. Problème avec les exceptions
    Par Mucho dans le forum wxWidgets
    Réponses: 3
    Dernier message: 04/10/2006, 17h10
  3. [VBA-Excel] Petit problème avec les formulaires
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2006, 09h22
  4. probléme avec les exceptions
    Par sofiane44 dans le forum Langage
    Réponses: 1
    Dernier message: 10/01/2006, 16h30
  5. Petit problème avec les accents circonflexes...
    Par Harvester dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 29/11/2005, 18h44

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