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

Java ME Discussion :

NullpointerException ! Help


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut NullpointerException ! Help
    Bonjour,

    J'ai problème avec mon application depuis des jours !

    Elle doit me créer des journées constituées de plusieurs catégory avec des sous-category. Ces données doivent être persistantes.

    Au débogage j'obtiens un NullPointerException, et je ne vois absolument pas où est mon problème.

    Apparemment je manipule qqch qui n'existe pas mais , je sais pas c'est quoi. je cherche depuis des jours et j'ai la pression car c'est à mon stage qu'on me le demande.

    Je vous serais très reconnaissant de jeter un coup d'oeil à mon code. Je l'ai mis en pièce jointe. ( etape2.rar ).

    j'obtients ça :

    DEBUGGER EVENT: VM Event ID=0x2a4, kind=0x8
    java.lang.NullPointerException
    - java.io.ByteArrayInputStream.<init>(), bci=21
    - Journees_app.journee.Loadjournees(), bci=59
    - Journees_app.journees.startApp(), bci=0
    - javax.microedition.midlet.MIDletInvoker.invokeStartApp(), bci=1
    - com.symbian.midp.runtime.MIDletScheduler.startMIDlet(), bci=26
    - com.symbian.midp.runtime.MIDletScheduler.run(), bci=14

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i = 1; i <= rs.getNumRecords(); i++) {
        byte[] rec = new byte[rs.getRecordSize(i)];
        rec = rs.getRecord(i);
        stream = new ByteArrayInputStream(rec);
        .......
    Je pense que i devrait être initialisé à 0, il n'y a qu'un seul enregistrement dans rs, du coup rs.getRecord(i) te renvoit null, donc new ByteArrayInputStream(rec) lève une exception.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut
    Bonjour Morph41

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i = 1; i <= rs.getNumRecords(); i++) {
        byte[] rec = new byte[rs.getRecordSize(i)];
        rec = rs.getRecord(i);
        stream = new ByteArrayInputStream(rec);
        .......

    Dans rs , au permier lancement de l'application, il n'y a aucun enregistrement, et par la suite il doit y avoir plusiseurs enregistrements ( chaque journee constituera un enregistrement).

    Et i représente les RecordId , donc ne peut pas prendre la valeur 0 ( ça commence par 1). ( En plus je teste si mon Recordstore est vide ou pas avant de récupérer les enregistrement du redordStore ).

    Voilà , je ne trouve toujours pas l'origine de mon problème ........

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Par défaut
    Tu devrais découper ton code avec plusieurs try-catch ayant chacun un System.out.println() différent. Comme ça quand ça pète, tu sais de quel bloc ca vient. Et tu découpe petit a petit. Sinon tu mets directement des println() après chaque morceau de code susceptible de balancé l'erreur voir après chaque instruction. C'est peut-être un peu crad mais tu trouveras ton problème tout seul et tu ne seras pas obligé de demandé à l'avenir, pour ce genre de problème.

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Je pense quand même que rec doit être null et que c'est pour ça que ça plante. En faisant un petit if(rec == null) et en mettant une trace tu devrais être vite fixé.

  6. #6
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut
    Merci Anikinisan

    je suis arrivé à localiser mon problème, enfin mes problemes, grace aux println.

    c'était des problèmes d'indexation.

    Merci

  7. #7
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut
    merci à morph aussi !

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Par défaut
    De rien
    Maintenant tu as une méthodologie pour trouver d'où viennent tes exceptions.
    C'est quand même plus pratique que de poster un article sur le forum et d'attendre la réponse des autres.
    Bonne continuation !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2003, 16h20
  2. help please
    Par atom267 dans le forum CORBA
    Réponses: 2
    Dernier message: 24/01/2003, 10h41
  3. [Kylix] fichiers help kylix2 oe ??
    Par sdoura2 dans le forum EDI
    Réponses: 2
    Dernier message: 29/11/2002, 14h32
  4. Help :Problème de clignotement
    Par LE CHAKAL dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/08/2002, 10h53
  5. Help InnoSetup ou Installshield
    Par buzz dans le forum Outils
    Réponses: 4
    Dernier message: 30/07/2002, 15h26

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