TP01 : warning sur classes d'exception

Modérateurs : graffion, jmdouin, agoncal, mlebihan

jeromefort
Messages : 31
Inscription : 21 oct. 2007 9:03
Localisation : Paris 10

TP01 : warning sur classes d'exception

Message par jeromefort » 21 oct. 2007 9:30

Bonjour

je viens de remettre mon tp01, les test sont bons et à priori ça marche , mais il y a une warning sur chaque classe d'exception dont je ne suis pas arrivé à me débarasser :( :

"The seriazable class xxxException doesn't declare a static final serialVersionUID field of type long"

J'ai bien vu que cet attribut figure dans la classe Exception, mais je comprends pas trop le sens du message, ni la correction possible, ni l'impact éventuel d'une non correction

Merci d'avance

Jérôme

Komla
Messages : 32
Inscription : 15 oct. 2007 4:29

warning sur classes d'exception

Message par Komla » 22 oct. 2007 10:44

Bonjour,
Bref.
Cet avertissement : “The seriazable class xxxException doesn't declare a static final serialVersionUID field of type long”, nous rappelle simplement que des problèmes de versions de programme peuvent se poser, pour tout objet susceptible d’être enregistré sur disque.
En effet, si nous enregistrons en un temps T1 un objet de classe C1 dans un fichier, et si au temps T2 après modification de la classe C1, nous voulons relire l’objet, nous aurons une erreur d’incompatibilité. Si nous voulons passer outre, ce qui peut être dangereux, alors nous pouvons définir un champs de la forme :
“private static final long serialVersionUID = valeur_numériqueL; “ dans la class xxxException.
(Si c’est pour tout simplement éviter le message vous pouvez mettre comme valeur_numérique 1.

private static final long serialVersionUID = 1L; )

Vous pouvez également obtenir l’empreinte (valeur_numérique) de la version précédente de la classe à l’aide du logiciel « serialver » fourni avec JDK.
Utilisation :serialver NomDeLaClasse.

Komla .

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité