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 :

[Débutant] exception : System.NullReferenceException


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut [Débutant] exception : System.NullReferenceException
    Salut, j'ai un souci avec une exception que je n'arrive pas à comprendre donc à résoudre. Il s'agit de l'exception : System.NullReferenceException elle s'applique à cette ligne là où j'ai inscrit cette ligne genère l'exception !
    cela me dit aussi que la réference d'objet n'est pas définie à une instance d'un objet! ce prog est destiné à analyser des rapports et de les réduire aux taches non effectuées pour ceux qui veulent savoir!! merci
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if ((!ComparLigne(ligne, cds)) || (!ComparLigne(ligne, verif)) || (!ComparLigne(ligne, LigneVide)))
    {
         serie = ligne;
         ligne = sr.ReadLine();
         if (ligne == LigneVide)
                  ligne = sr.ReadLine();
         // cette ligne genere l'exception
         while ((ComparLigne(ligne, cds)) || (ComparLigne(ligne, verif)))

    Le problème est apparament ici :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
         ligne = sr.ReadLine();// fin du stream ? si oui, retourne NULL
         if (ligne == LigneVide)
                  ligne = sr.ReadLine(); // fin du stream ? si oui, retourne NULL


    Comme le dit la doc :

    Return Value :
    The next line from the input stream, or a null reference (Nothing in Visual Basic) if the end of the input stream is reached.
    En résumé, assure toi que le retour de StreamReader.ReadLine() n'est pas null (fin du stream). Si c'est le cas, sort de la boucle via un break (il n'y a plus rien à traiter si c'est la fin du stream).

    P.S : le "while (ligne != null)" n'est testé qu'a la fin du while, pas à chaque instruction... C'est à toi de tester, à l'intérieur du while, si ligne==null.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    Merci de m'avoir répondu mais je ne comprends pas, "ligne = sr.ReadLine();" c'est pour lire une ligne du fichier ? je ne veut pas tester à chaque fois si c'est null car je suis un plan de rapport et je sais que lorsque je sort du

    while ((ComparLigne(ligne, cds)) || (ComparLigne(ligne, verif)))

    c'est que je suis sur une ligne vide, donc j'en relis une et je recommence une nouvelle série!! mon prog marche jusqu'à un moment ou il me genere l'exception alors qu'il est déjà passer pas mal de fois dans la boucle puisqu'il créé mon fichier de rapport réduit et que j'ai toutes les lignes que je voulait et il s'arrete meme en plein milieu d'une série !!
    j'avais penser qu'un buffer etait plein d' où un arrêt ! mais je sais pas !

    merci de m'aider!!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Par défaut
    Salut,

    En fait pour moi l'exeption System.NullReferenceException se déclenche quand tu fais référence a un objet qui n'est pas initialisé ... donc null.

    je peux pas tester ton code mais moi j'essaierai ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while (ligne != null &&   ((ComparLigne(ligne, cds)) || (ComparLigne(ligne, verif))))
    dans ce cas on sort du while si line est null mais en lisant mieux ta reponce au premier post ca vas pas t'aider...

    ne devrais tu pas changer la structure de tes boucles ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    Personnellement, lorsque j'ai une erreur de ce type, je regarde la trace que te balance l'exception, ca donne une idee ou il faut chercher (...exception at line X)

    Ensuite je vais a la ligne X et je regarde les variables mises en jeu, et si je ne trouve pas d'ou ca vient, je fais un Console.Write ou un MessageBox pour imprimer le contenu de ces variables.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    merci, je vais essayer avec le ligne != null dans la boucle while!!!!

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    et bien merci beaucoup ça marche, je m'attaque à un treeview maintenant!!!

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

Discussions similaires

  1. [Débutant] exception de première chance de type 'System.NullReferenceException'
    Par cazteam dans le forum VB.NET
    Réponses: 10
    Dernier message: 26/04/2012, 22h43
  2. Réponses: 7
    Dernier message: 07/11/2010, 04h12
  3. [VB.NET] System.NullReferenceException
    Par LeGrosWinnie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/12/2005, 13h31
  4. [JDBC][Débutant] Exception : No suitable driver
    Par Prophetis dans le forum JDBC
    Réponses: 7
    Dernier message: 24/10/2005, 23h50
  5. Exception systeme W32 et registre FS du processeur
    Par heinquoi dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 10/10/2004, 13h58

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