c# : Création d’exception personnalisée

La création d’Exception personnalisée permet de lever des erreurs propre à notre code pour pouvoir en cas d’erreur faire un traitement particulier.

Biensur cela n’est interressant que si l’exception n’existe pas déjà dans le Framework.

Pour créer une exception personnalisée il faut:

Créer une classe qui hérite de la classe « Exception », cette classe doit posséder 2 méthodes

Exemple

public class LoadProductExpcetion : Exception
    {
        public LoadProductExpcetion(string message, Exception inner)
            : base(message, inner)
        {
        }

        public LoadProductExpcetion(string message)
            : base(message)
        {
        }
    }

voici un exemple de son utilisation:

public void ChargerProduit(int id)
        {
            try
            {
                MethodA();
            }
            catch (Exception ex)
            {
                throw new LoadProductExpcetion("impossible de charger le produits "  + id.ToString(),ex);
            }
        }

Allons plus loin : cas avec plusieurs catch pour filter les exceptions

je crée une autre exception

public class MyExceptionB : Exception
    {
        public MyExceptionB(string message, Exception inner)
            : base(message, inner)
        {
        }

        public MyExceptionB(string message)
            : base(message)
        {
        }
    }

et son appel

  public void MethodA()
        {

            try
            {
                MethodB(null);
            }
            catch (MyExceptionB myEx)
            {
                Log(myEx);
            }
            catch (Exception ex)
            {
                Log(ex);
                throw new MyExceptionA("j'ai eu un probleme dans MethodA pendant la gestion des artiste", ex); ;
            }
        }

 public void MethodB(object obj)
        {
            if (obj == null)
                throw new ArgumentNullException("obj");
            string t = null;
            try
            {
                t = "";
                obj.ToString();
                var xmlArtiste = "";
            }
            catch (Exception ex)
            {
                Log(ex);
                throw new MyExceptionB("j'ai un probleme sur le noued " + t,ex);
            }
        }

 /// <summary>
        /// log tous les messages
        /// </summary>
        /// <param name="obj"></param>
        public void Log(object obj)
        {
        }

Le code complet se trouve ici

Une réflexion sur “c# : Création d’exception personnalisée

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s