Dkserrorframework : un petit ensemble de classe pour automatiser les messages d'erreur

Soyez le premier à donner votre avis sur cette source.

Vue 5 771 fois - Téléchargée 433 fois

Description

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 / Exemple :


// 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, "");

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
105
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 !
Messages postés
8
Date d'inscription
vendredi 24 mars 2006
Statut
Membre
Dernière intervention
3 mars 2009

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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.