begin process at 2012 02 11 14:33:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :4 565 / 316

Auteur : DARKSIDIOUS

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
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

Les Membres Club peuvent 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).

 Sources du même auteur

Source avec Zip Source avec une capture DKSWORDART : UN EDITEUR DE WORDART PERSONNALISÉ EN JAVA
Source avec Zip Source avec une capture DKSWARPEDITOR : TRANSFORMEZ UNE IMAGE TRÈS SIMPLEMENT
Source avec Zip Source avec une capture MARIO BROS : LE JEU DE MARIO
Source avec Zip Source avec une capture DKSTEXTUREEDITOR : CRÉEZ DES TEXTURES COMPLEXES TRÈS SIMPLEM...
Source avec Zip Source avec une capture DKSSHADOWEDITOR : UN ÉDITEUR D'OMBRE SUR DES OBJETS GRAPHIQU...

 Sources de la même categorie

Source avec Zip Source avec une capture LE FONCTIONNEMENT DE REPAINT par Julien39
Source avec Zip [TUTORIEL] CONCPETION AVANCÉE : LES DESIGN PATTERN par Julien39
STRING NUMBERS COMPUTATOR par loloof64
Source avec Zip Source avec une capture CODE JAVA DANS UNE PAGE HTML par Julien39
Source avec Zip LES EXPRESSIONS RÉGULIÈRES EN JAVA (DÉBUTANT) par Julien39

 Sources en rapport avec celle ci

Source avec Zip [TUTORIEL] COMMENT RÉAGIR FACE À UNE EXCEPTION par Julien39
Source avec Zip Source avec une capture J(DE)COMPRESSION V4 BETA par edouard333
Source avec Zip KIT DE FICHIERS DE PROGRAMMATION par edouard333
Source avec Zip TUTORIEL GESTION DES EXCEPTIONS par Julien39
Source avec Zip Source avec une capture UNE JDIALOG POUR LES ERREURS DÉTAILLÉS par romuluslepunk

Commentaires et avis

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.

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 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 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 endroit d'ouverture de JOptionPane, JDialog [ par profiter ] bonjour, j'utilise dans mon application un JIntenalframe contenu dans un JDesctopPane j'ai des bouttons dans ce internalfram quelque une lance un JOp JPanel dans un JDialog [ par profiter ] bonjour j'ai un JPanel de grande longueur je veux le mettre dans un JDialog qui est d'une longueur inferieur il faut que je met les scrollbar povez probleme d' impression en java [ par profiter ] bonjour, apres plusieurs tests de plusieurs classes et methodes qui permet d'avoir un apercu et d'imprimer en java voila a quoi j'ai aboutit on ne probleme JAVA WEB START [ par rainbow89 ] jour, je viens de deployer mon application JAVA/JDBC mais je me suis rendu compte qu'en appuyant sur le bouton qui lance un formulaire d'ajout RIEN Les listes java [ par begueradj ] Bonjour, Je veux déclarer une liste ne contenant que des entiers: [code=java]List mylist=new ArrayList();[/code] Mais le compilateur me signale cette erreur de saisier dans un menu [ par mariesixteen ] bonsoir, Je code actuellement une application permettant de créer des réseaux de neurones. J'ai un problème dans le menu de cette application. J'ai é


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales