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 :

Explication bout de code - Exception


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Par défaut Explication bout de code - Exception
    Bonjour,

    Lorsque je crée une exception de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class ExceptionGenerique : Exception
        {
            //Property
            public string msg; 
     
            //Constructor
            public ExceptionGenerique(string msg)
            {
                this.msg = msg; 
            }
    Que se passe t'il lorsque dans la Main je rencontre:

    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
    if (account is Daily || account is Saving)
                    {
                        this.balance = balance;
                        this.number = number;
                        this.openingDate = openingDate;
                        this.client = account.client;
                        this.expirationDate = expirationDate;
                        this.mail = mail;
                        this.onlinePaymentPassword = onlinePaymentPassword;
                        this.account = account;
                    }
                    else
                    {
                        throw new ExceptionGenerique("Un compte web doit être lié à un Saving ou un Daily");
                    }
    Quel exemple de méthode puis-je écrire dans ma classe Exception?

    Merci de me clarifier!

    Et merci du temps consacré!

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    If faut que dans ExceptionGenerique tu utilisse ta classe Exception (utiliser constructeur + méthodes).

    Sinon si tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception exception = new ExceptionGenerique("Mon erreur");
    MessageBox.Show(exception.Message == string.Empty) // true

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Par défaut
    Merci alex vino!

    Dans la 1ère solution que tu me donnes, comment utiliser la classe Exception? Ou appeler son constructeur et les méthodes? Dans le catch?

    Merci d'avance!

  4. #4
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Citation Envoyé par bilou_12 Voir le message
    Merci alex vino!

    Dans la 1ère solution que tu me donnes, comment utiliser la classe Exception? Ou appeler son constructeur et les méthodes? Dans le catch?

    Merci d'avance!
    Le plus simple est que tu ailles apres la derniere accolade de ta classe, tu écrit le snippet "exception" (sans acollades) et tu appuies 2 fois sur la touche "tab".
    Maintenant ta classe est automatiquement créée par Visual Studio, tu n'a juste qu'a la modifier a ta guise.

    Ce qui donne:
    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
    namespace ConsoleApplication
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    throw new MyException("TEST");
                }
                catch (MyException ex)
                {
                    Console.Write(ex.Message);
                }
                Console.ReadLine();
            }
        }
     
        [Serializable]
        public class MyException : Exception
        {
            public MyException() { }
            public MyException(string message) : base("This my exception: " + message) { }
            public MyException(string message, Exception inner) : base(message, inner) { }
            protected MyException(
              System.Runtime.Serialization.SerializationInfo info,
              System.Runtime.Serialization.StreamingContext context)
                : base(info, context) { }
        }
    }
    A savoir que dans ta classe "MyException" tu n'es pas obligé de redéclarer ce que tu souhaites laisser par défaut.
    Dans mon exemple cela suffirait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        public class MyException : Exception
        {
            public MyException(string message) : base("This my exception: " + message) { }
        }
    A+

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Par contre je te conseil d'utiliser ce que te fournit le Framework quand tu peux.

    Par exemple dans ton cas "ExceptionGenerique" ne fait rien d'autre que de contenir ton message.

    Tu pourrais par exemple faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    throw new ValidationException("Un compte web doit être lié à un Saving ou un Daily");
    // ou encore
    throw new InvalidOperationException("Un compte web doit être lié à un Saving ou un Daily");
    // ou au pire
    throw new Exception("Un compte web doit être lié à un Saving ou un Daily");
    Apres cela dépend de ce que tu comptes en faire dans ton projet.

    A+

Discussions similaires

  1. [VB] Explication bout de code
    Par Ledaf dans le forum SDK
    Réponses: 0
    Dernier message: 24/03/2009, 16h11
  2. Explication d'un (tout petit) bout de code^^
    Par xclam dans le forum Langage
    Réponses: 5
    Dernier message: 31/05/2007, 09h49
  3. explication d'un bout de code ASP
    Par mademoizel dans le forum ASP
    Réponses: 4
    Dernier message: 22/05/2007, 13h03
  4. explication sur un bout de code
    Par poporiding dans le forum C++
    Réponses: 2
    Dernier message: 27/06/2006, 18h04
  5. Besoin d'explications sur un bout de code
    Par zizitop dans le forum C
    Réponses: 7
    Dernier message: 26/04/2005, 14h51

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