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

ASP.NET Discussion :

NullReferenceException incompréhensible :|


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut NullReferenceException incompréhensible :|
    Salut à tous,

    Bon, je craque sur une erreur incompréhensible pour moi, j'espère que vous pourrez m'aider.

    1. J'ai une classe qui définit 3 méthodes privées, qui vont supprimer chacune un type de noeud différent dans un fichier XML
    2. Dans cette classe, j'ai également une méthode public "Delete" qui va, en fonction d'un ID qui lui est passé, appeler une des 3 méthodes privées décrites ci dessus
    3. Dans un fichier aspx.cs, je crée une instance de cette classe et j'appelle la méthode Delete avec un ID passé en paramètre dans l'URL


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // Fichier ASP.net
    Xml_process MonXml = new Xml_process(adresseFichierXML);
    MonXml.Delete(ID);
    Response.Redirect("Default.aspx")
    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
     
    // Classe CS
    class Xml_process {
     
    public void Delete(String ID)
    {
            String type; 
     
            try {
                type = ID.Remove(2, ID.Length - 2);
            }
            catch {
                // En cas d'erreur (lors du traitement de l'ID par la méthode String.Remove)
                return;
            }
     
     
            if (type == "Ni") {
                DeleteNiveau(ID);     // NIVEAUX
            } else if (type == "Pi") {
                DeletePiece(ID);      // PIECES
            } else {
                DeletePeriph(ID);     // DEVICE HOMESEER
            }
    }
     
    private void DeleteNiveau (String ID) {
    ...
    }
     
    private void DeletePiece (String ID) {
    ...
    }
     
    private void DeletePeriph (String ID) {
    ...
    }
     
     
    } // Classe

    Appel de Delete avec l'ID d'un noeud Niveau : NullReferenceException
    Appel de Delete avec l'ID d'un noeud Piece : NullReferenceException

    Appel de Delete avec l'ID d'un noeud Periph : OK

    Pourtant si je teste la valeur de l'objet MonXml dans mon appel à la méthode delete, il est bien toujours différent de null... J'espère que vous pourrez m'aider, je suis vraiment paumé là

    Merci d'avance


    PierreAd

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Si c'est pas MonXml qui est nul alors c'est autre chose, a priori dans DeleteNiveau et DeletePiece. L'exception ne te donne pas la ligne de code ou l'erreur se produit ? ça m'a l'air d'un pb assez simple à résoudre, au pire un ptit coup de debug pas à pas depuis l'appel de ta méthode delete et tu vas trouver.

  3. #3
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Oui en effet, c'est quelque chose de pas bien compliqué à laquelle tu n'as pas pensé.

    Comme Sphax l'a dit, tu n'à qu'à exécuter ton code en pas à pas avec le mode debug.

    Ou alors, tu fais ctrl+alt+e dans visual studio et tu codes pour la colonne thrown et User-Unhandled "Common Langage Runtime Exception". Cela permettra à visual studio de s'arrêter sur la ligne qui a lancé l'exception.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut à vous deux,

    Merci beaucoup de votre aide, en fait je pensais tout simplement que VS m'indiquait simplement l'endroit où la NullReferenceException se produisait, et pas l'endroit où elle remontait !!!

    Du coup ça m'a permis de trouver les parties de mon code qui étaient erronnées, merci encore pour tout

    Cordialement,


    PierreAd

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

Discussions similaires

  1. Un exception NullReferenceException incompréhensible
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/04/2009, 19h21
  2. messages incompréhensibles
    Par devalender dans le forum Outils
    Réponses: 2
    Dernier message: 06/07/2004, 16h53
  3. incompréhension avec ado
    Par Orgied dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/05/2004, 18h24
  4. [WSAD5] probleme incompréhensible
    Par capitaine_banane dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 07/04/2004, 11h56
  5. [JSP] Erreur incompréhensible
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/09/2003, 16h37

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