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 :

probléme try catch


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Points : 26
    Points
    26
    Par défaut probléme try catch
    salut a tous et a toute :

    je viens de réaliser un petit programme de crud et j'utilise linq to sql comme methode de travail mon probléme et au niveau de l'ajout je m'explique je veux en tappant une nouvelle valeur la tester si elle existe dans la base j'envoi un message d'avertissement sinon elle ce charge dans ma base avec sucée j'utile ce code :

    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
     try
                    {
     
                        LIGNE lgcms = new LIGNE();
     
     
                        lgcms.NUM_LIG = int.Parse(txtajouternumerolignecms.Text);
                        lgcms.NOM_UF = comboBoxnomufajouterlignecms.Text;
     
                        connligne.LIGNEs.InsertOnSubmit(lgcms);
                        connligne.SubmitChanges();
     
     
                        txtajouternumerolignecms.ResetText();
                        comboBoxnomufajouterlignecms.ResetText();
                        Viewligne();
                        loadnomuflignecms();
                        loadnumlignecms();
     
                    }
                    catch
                    {
                        MessageBox.Show("Cette ligne existe déjà", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        GetInstance();
                    }
    sachant que GetInstance est la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     private static ligne Instance = null;
     
            public static ligne GetInstance()
            {
                if (Instance == null)
                    Instance = new ligne();
                return Instance;
            }
    le probléme que je rencontre est que le try catch reste déclanché cad si je tappe en premier lieu une valeur qui existe le message d'erreur ce déclanche mais si je met une nouvelle valeur le meme message s'affiche

  2. #2
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Bonjour,

    Si tu passes dans ton catch, c'est qu'une exception est levée (n'importe laquelle). Je t'invite à vérifier que l'exception déclenchée est la même dans les deux cas.

    Remplace ton "catch", par un "catch(Exception e)", et renvoie nous le maximum d'information (le type de l'exception, le message associé, l'InnerException s'il existe, etc...)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    ca plante et aucun message ne s'affiche

  4. #4
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Petite précision :
    Il faut que tu mettes un point d'arrêt au niveau de ton catch pour pouvoir regarder l'exception (ou alors des MessageBox pour afficher les informations requises).

    Autre possibilité : laisser tomber le try / catch et laisser l'exception remontée. Tu devrais avoir des infos plus précises sur l'erreur

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    Violation de la contrainte PRIMARY KEY 'PK_LIGNE'. Impossible d'insérer une clé en double dans l'objet 'dbo.LIGNE'.
    L'instruction a été arrêtée.

    c'est le message qui s'affiche

  6. #6
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Est-ce le même message qui s'affiche dans les deux cas ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    non uniquement si l'element a ajouté existe dans la base sql

  8. #8
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Et dans l'autre cas, puisque c'est là que se situe ton problème ?

Discussions similaires

  1. Problème try/catch, do/while
    Par iCaRBon_Gold dans le forum C#
    Réponses: 5
    Dernier message: 22/10/2014, 09h38
  2. [Débutant] Problème try catch
    Par abel413 dans le forum MATLAB
    Réponses: 4
    Dernier message: 17/06/2013, 12h29
  3. problème utilisation de try catch
    Par leovenus dans le forum MATLAB
    Réponses: 1
    Dernier message: 16/03/2008, 16h47
  4. problème avec l'instruction try catch endtry
    Par jabulon dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/01/2008, 11h33
  5. Problème try-catch dans mon code
    Par little pepito dans le forum Langage
    Réponses: 7
    Dernier message: 11/06/2007, 12h22

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