Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DKSERRORFRAMEWORK : UN PETIT ENSEMBLE DE CLASSE POUR AUTOMATISER LES MESSAGES D'ERREUR


Information sur la source

Catégorie :Astuces Classé sous : erreur, ressourcebundle, jdialog, joptionpane, messagebox Niveau : Débutant Date de création : 31/03/2007 Date de mise à jour : 03/04/2007 21:12:26 Vu / téléchargé: 3 190 / 255

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Je vous propose une toute petite source qui vous permet d'automatiser les messages d'erreurs.

Rien de très compliqué : une énumération des erreurs possibles, un fichier de ressources pour stocker le message à afficher.

Les points techniques :
Utilisation d'un RessourceBundle => possibilité de faire des localisations des messages assez simplement (il vous faudra tout de même modifier 2-3 choses dans ma source pour y arriver, car je n'ai pas prévu le cas, mais c'est rien à faire !).
Enumération avec des propriétés étendues (qui a dit que les enum ne servaient qu'à lier un entier à un nom de constante ?).

L'avantage de ma source ? Faire des messages d'erreurs standard en une seule ligne de code !

Petite mise à jour afin d'ajouter une fonctionnalité : l'écriture d'un log des erreurs + passage à un pattern singleton du coup.
L'utilisation du log est facultative.

De plus, le formattage du log est personnalisable : vous pouvez soit créer une nouvelle classe implémentant l'interface ILogWritter, soit étendre la classe CSimpleLogWritter, soit utilise simplement la classe CSimpleLogWritter pour avoir le formattage par défaut.
 

Source

  • // très simple à utiliser pour afficher une erreur :
  • // sans log :
  • CError.createInstance();
  • CError.getInstance().showError(EErrorType.ErreurCreerBase, true, true, "");
  • // avec log :
  • CError.createInstance(System.getProperty("user.dir") + "\\test.log", new CSimpleLogWritter());
  • CError.getInstance().showError(EErrorType.ErreurCreerBase, true, true, "");
// très simple à utiliser pour afficher une erreur :
// sans log :
CError.createInstance();
CError.getInstance().showError(EErrorType.ErreurCreerBase, true, true, "");

// avec log :
CError.createInstance(System.getProperty("user.dir") + "\\test.log", new CSimpleLogWritter());
CError.getInstance().showError(EErrorType.ErreurCreerBase, true, true, "");

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

03 avril 2007 21:12:26 :
Ajout du système de log. Passage au pattern singleton pour la gestion de l'écriture du log (plus simple à gérer).

Commentaires et avis

signaler à un administrateur
Commentaire de celphys2 le 01/09/2007 13:16:05

J'espère que je ne réveille pas un ancien thread de code oublié...

L'idée d'une gestion simplifiée des erreurs est indispensable. Cependant, créér ton propre logger fichier, alors qu'il existe plusieurs librairies toutes faîtes reconnues comme standard t'impose une contrainte en plus je pense. (commons-log et log4j par exemple).

Maintenant l'idée est bonne dans le contexte d'un application SWING. Plusieurs remarques pour améliorer cette gestion :
1. Dans une ligne de fichier properties tu peux insérer des paramètres

Par exemple :
error.invalidparam=Le paramètre {0} passé dans la méthode {1} est invalide.

Pour construire le message d'erreur tu fais:
MessageFormat.format(monResourceBundle.getString("error.invalidparam"), new Object[] {nomParametre, nomMethode});

2. Créer une classe de type ErrorHandler avec tes méthodes statiques à appeler.

public void gestionErreurParametreInvalide(String nomParametre, String nommethode) {
String monMessage = MessageFormat.format(monResourceBundle.getString("error.invalidparam"), new Object[] {nomParametre, nomMethode});
[..]
}
=> Je ne passe pas le type d'erreur en paramètre je fais une méthode spéciale et c'est dans la méthode que j'appele le bon error code, le bon type d'erreur etc....

En espérant être constructif.

signaler à un administrateur
Commentaire de DARKSIDIOUS le 01/09/2007 14:33:09 administrateur CS

Non non, ce n'est pas un code oublié, c'est juste que je bosse sur un autre projet actuellement, mais ce code là me sera bientôt utile pour une autre application.

Merci de tes remarques, t'as tout à fait raison !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Mess Erreur Aff 2 fois [ par kaliel ] Dans une fonction simple, j'ai un 'if (...) .......' et si cette condition n'est pas remplie, j'affiche un JOptionPane :JOptionPane.showMessageDialog( JDialog JOptionPane [ par xpla ] bonjour, Dans mon programme il ya un menu qui fait apparaitre un JDialog. Sur ce JDialog il exixte un boutton valider qui fait apparaitre un JOpionPa actualiser une JComboBox [ par mdrcedrick ] bonjour à tous lors du chargement de mon panel je rempli ma JComboBox avec des données de ma BDD, depuis un autre panel j'ai un formulaire, une fois r JProgressBar et FtpConnection [ par flolag ] Salut,J'ai un applet qui peut permettre d'envoyer un fichier sur un serveur Ftp. Je voudrais que quand l'utilisateur appuie sur envoyer une barre de p JprogressBar , barre chargement [ par flolag ] Salut,Désolé de reposter un message à ce sujet mais je n'ai pas trouvé comment editer mon autre message.Je voudrais en fait sur mon applet qu'il s'aff problème avec JOptionPane [ par zut69 ] Bonsoir,J'ai un souci avec un bouton parcourir. Dans l'applet viewer pas de soucis, il s'affiche et tout s'exécute correctement mais par contre quand Erreur du debugger! [ par ge17 ] Bonjour Je programme en JAVA sous "netbeans" sur un projet. Et lorsque je veut débugger mon projet cette erreur apparaît et je ne la comprend pas : JPasswordField [ par agita ] Bonjour! je veux entrer dans une fenetre de dialogue un mot de passe ( donc en utilisant le JPasswordField) mais apparement, mon code comporte une e urgent [ par hfefessa ] bonjour j'ai une erreur au moment de la cretion d'un e visuel class en myeclipse . le messeage d'erreur est le suivant :Error trying to set new file i


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.