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 Discussion :

Exception la référence d'objet n'est pas définie à une instance d'objet


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 35
    Points
    35
    Par défaut Exception la référence d'objet n'est pas définie à une instance d'objet
    Coucou tout le monde,
    J'ai un petit souci avec l'exception suivante :
    Exception la référence d'objet n'est pas définie à une instance d'objet
    En bref j'ai une classe qui me récupère les noms des fichiers qui sont dans un dossier, et stoque ces noms dans dans une liste et me retourne la liste
    pour exécuter la requête je passe le Id( identifiant du dossier en paramètres dans ma fonction),
    Le problème quant il s'agit d'un dossier vide ca me génère cette exception ce qui est tout a fait normale parceque la liste est vide. J'ai essayé de resoudre ce problème an ajoutant un objet vide dans la liste comme ceci:
    Code Java :
    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
     
     
                    if(!result.next()){
                    // en cas d'un dossier vide
                        Monobjet objet = new Monobjet();
                        objet.setName("");
                        list.add(objet);
     
                        }else{
                            while (result.next()) {
                            Monobjet objet = new Monobjet();
                            objet.serNate((result.getString("name"))));
                            list.add(object);
                            }
                    }
    return list;
    Comme ca j'ai plus l'exception mais la taille de liste est pas bonne , elle contient à un élément( qui vide) mais ça ca va me poser des problème par la suite parceque je m'en sers de la taille de liste.
    Je cherche une solution pour enlever l'exception et en meme temps ne pas ajouter un élément vide.
    Auriez vous une idée ?
    Merci.

  2. #2
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Salut,

    Tu peut ns montrer comment t'execute la requete, comment tu passes ton Id en code ?!!

    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Redouane me = new Redouane();
    if (me.Connect())
        me.ShareInformations();

  3. #3
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    salut,

    Bon déjà je me demande si tu ne t'es pas trompé de forum car ici t'es sur le forum .Net et ton code est en java.

    Toujours est il que je ne comprend pas tres bien ton probleme, si t as un soucis parce que t'ajoute un objet "vide",.... bah tu l'ajoute pas !! Ce qui donnerais avec ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     if(result.next()){
     
                        }else{
                            while (result.next()) {
                            Monobjet objet = new Monobjet();
                            objet.serNate((result.getString("name"))));
                            list.add(object);
                            }
                    }
    return list;
    ou plus proprement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     while (result.next()) {
                            Monobjet objet = new Monobjet();
                            objet.serNate((result.getString("name"))));
                            list.add(object);
                            }
     
    return list;
    Cordialement
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 35
    Points
    35
    Par défaut
    merci bcp pr tous vos idées
    sinon jai résolu mon probléme, pr le rappel , le probléme que j'avais c 'est que j'exécute une requête apartir d'un Id d'un dossier je récupérre la liste des sous dossiers qu'il posséde, et comme c marqué ds mon code j'enregistre le non du sous dossier dans mon objer (objet.setName("non_sousdossier")) et jajoute mon objet dans ma liste et je retourne la liste.
    le probléme c dans le cas ou un dossier ne posséde pas de sous dossier la liste que je retourne est vide.
    ce que jai fais pr régeler ca jai fait ce test:
    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
     
    if(result.next()){
     
                        }else{
                            while (result.next()) {
                            Monobjet objet = new Monobjet();
                            objet.serNate((result.getString("name"))));
                            list.add(object);
                            }
                    }
    return list;
     
     
    if( list.isEmpty)
    {
        list = null
    }
     
    return list;
    merci encore

  5. #5
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    Attention !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if( list.isEmpty)
    {
        list = null
    }
     
    return list;
    cette partie du code ne sera jamais exécutée !!! Et entre nous ne sert pas a grand chose, vaut mieux avoir un objet de longueur 0 et tester cette propriété que d'avoir un objet null, car tu risque de te manger un NullPointeurException si tu fait pas gaffe derriere....
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

Discussions similaires

  1. [Débutant] La référence d'objet n'est pas définie à une instance d'objet
    Par Crowww dans le forum VB.NET
    Réponses: 27
    Dernier message: 28/05/2013, 15h53
  2. Réponses: 4
    Dernier message: 08/01/2013, 12h11
  3. Réponses: 1
    Dernier message: 24/02/2011, 12h01
  4. La référence d'objet n'est pas définie à une instance d'objet
    Par Delphi-ne dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/07/2009, 14h22
  5. Réponses: 20
    Dernier message: 13/08/2007, 16h11

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