Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2787 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  java.io.NotSerializableExcepti on: sun.awt.AppContext ? qu'est donc ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

java.io.NotSerializableExcepti on: sun.awt.AppContext ? qu'est donc ?

n°573962
supertimor​2k
Posté le 23-11-2003 à 17:41:44  profilanswer
 

dans mon programme j'effectue une sauvegarde avec writeObject()
seulement si l'objet que j'enregistre satisfait certaines conditions.
 
en fait je remplie un vecteur au fur et à mesute et je met à un jour le fichier qui contient ce vecteur.
 
qd les données à ajouter au vecteur sont incorrectes, je ne les ajoute pas et la sauvegarde n'a aps lieu.
 
si apres je sauveagrde de nouvelles données l'exception  
java.io.NotSerializableException: sun.awt.AppContext  
est levée à l'ecriture.
 
cette exception se leve seulemnt si j'ai essayé de rentrer de mauvaises données dans mon vecteur la fois d'avant.
 
 
n'est ce pas bizarre ?
 
la classe qui contient mon vecteur est implements Serializable et les objets que je met dans le vecteur aussi.

mood
Publicité
Posté le 23-11-2003 à 17:41:44  profilanswer
 

n°573969
R3g
fonctionnaire certifié ITIL
Posté le 23-11-2003 à 18:00:30  profilanswer
 

Cette exception signifie que dans ton vecteur, il y a un objet de type sun.awt.AppContext, ou un objet qui contient une reference sur un objet de type sun.awt.AppContext, qui n'a pas l'air serializable.
A toi de trouver comment cette reference se retrouve là, avec ce que tu dis on ne peut pas en savoir plus.
 
EDIT : tu peux deja commencer par cacther l'exception et faire un printStackTrace(), ca pourrait te donner des indices.


Message édité par R3g le 23-11-2003 à 18:01:41

---------------
Au royaume des sourds, les borgnes sont sourds.
n°574270
supertimor​2k
Posté le 24-11-2003 à 00:11:17  profilanswer
 

ok, j'avais donc bien compris le sens de l'exception, mais elle semble ne plus se lever...
 
merci

n°574278
supertimor​2k
Posté le 24-11-2003 à 00:45:56  profilanswer
 

normalement NoSuchMethodError est une erreur qui apparait lors de la compilation, non ?
là je l'ai pendant le deroulement. Je ne comprends pas cette erreur, j'ai pourtant declaré cette methode !
 
la class UneSemaineReservations est un tableau de 5 vecteurs.
public Vector getLesReservationDuJour(int telJour){return saSemaineReservations[telJour];} //est censé renvoyé un vecteur
 
Exception in thread "main" java.lang.NoSuchMethodError: UneSemaineReservations.
getLesReservationDuJour(I)Ljava/util/Vector;
        at UneFenetrePlanning.recupererSemaineReservations(UneFenetrePlanning.java:108)
        at UneFenetrePlanning.<init>(UneFenetrePlanning.java:28)
        at TP5Planning.main(TP5Planning.java:5)

n°574306
benou
Posté le 24-11-2003 à 08:24:30  profilanswer
 

Cette exception se produit à l'execution (jmais à la compile) dans 2 cas :  
1) quand tu fais de la reflexion (utilisation du package java.lang.reflect) et que tu essaye d'appeler une méthode qui n'existe pas sur un objet
2) quand une classe a été compilée alors qu'une méthode d'un objet été disponible et que à l'execution elle ne l'est plus (la classe l'objet qui possédait cette méthode a été recompil et la méthode supprimée). C'est plutot rare et ca intervient d'habitude quand on a une mauvaise config (classpath de compile différent de classpath d'execution) ou quand on se sert d'un jar de version différente à la compile et a l'execution.


---------------
ma vie, mon oeuvre - HomePlayer
n°574310
benou
Posté le 24-11-2003 à 08:32:00  profilanswer
 

si tu ne comprend pas pkoi elle est levée, balance les lignes de code autour de l'endroit où l'exception est générée


---------------
ma vie, mon oeuvre - HomePlayer
n°575037
supertimor​2k
Posté le 24-11-2003 à 19:26:33  profilanswer
 

avec JCreator, j'ai créé 2 projets :
_un qui sauvegarde dans le fichier(prog1)
_l'autre qui restaure à partir du fichier(prog2)
 
dans chacun des projets existe les classes UneReservation et UneSemaineReservations, elles ont exactement le meme code.
 
Quand avec prog2 j'essaie d'ouvrir un fichier créé par prog1, j'avais un probleme de n° d'identification de class.
pour régler le probleme j'ai copié UneReservation.class et UneSemaineReservation.class dans le repertoire de prog2.
 
La j'ai pu lancer prog2 sans probleme jusqu'à l'exception NoSuchMethodError.
 
Le probleme viendrait il de là ?

n°575042
benou
Posté le 24-11-2003 à 19:34:04  profilanswer
 

oui. la liaison à la méthode doit être cassée puisqu'il ne s'agit plus de la même classe (puisqu'issue de 2 sources différents).
Logiquement, tu ne devrais pas avoir 2 sources différents si c'est la même classe ...


---------------
ma vie, mon oeuvre - HomePlayer
n°575136
supertimor​2k
Posté le 24-11-2003 à 21:18:13  profilanswer
 

elle ne sont pas dans le meme repertoire en fait !  
bon je regle ce probleme et si ca persiste je donne de mes nouvelles
 
 
merci ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  java.io.NotSerializableExcepti on: sun.awt.AppContext ? qu'est donc ?

 

Sujets relatifs
[NEW QUESTION] problème de concurrence et de verouillage en Java[JAVA]Ecrire lire et creer un fichier txt
Help CPP type Java[JAVA] Peut-on fixer le séparateur décimal à l'exécution ?
Question sur bouquin java...bizzuth du java
[java] Créer un objet a partir d'un String ???java : etat actuel du marché et developpement a court/moyen termes?
[Java] interface: heritage de methodes statiques[Java] socket: faire tourner plusieurs serveurs sur le meme port
Plus de sujets relatifs à : java.io.NotSerializableExcepti on: sun.awt.AppContext ? qu'est donc ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)