- 1
[Opened] [Résolu] Gestion des erreurs dans une librairie externe
Posted by Yhann on 01/04/2010 11:11
Bonjour,
Je viens d'incorporer une librairie de code dans Jelix. J'ai des fonctions qui génèrent des exceptions, avec des numéros de codes inférieurs à 5000.
Faut-il que je modifie mes codes d'erreurs pour les choisir, comme préconisé, au-dessus de 5000 ?
D'une manière plus générale, est-il opportun de générer des exceptions dans une librairie de code ? Ou faudrait-il mieux retourner FALSE en enregistrant l'erreur au préalable ? Cela ne permettrait-il pas une meilleure portabilité ?
Je me demandais si je n'allais pas réécrire ma librairie, en supprimant les exceptions, et en générant juste des booléans en retour, tout en enregistrant l'erreur dans une classe spécifique. Ma librairie pourrait gérer elle-même la localisation des messages d'erreurs (pour le multilinguisme) et serait alors complétement autonome et portable.
Qu'en pensez-vous ? Quelle pratique conseillez-vous pour l'emploi de ma librairie avec Jelix ?
Merci par avance.
[Opened] Re: Gestion des erreurs dans une librairie externe
Posted by foxmask on 01/04/2010 13:06
bonjour, si possible ; utiliser jException et des codes au delà de 5000 ; non ? cdt.
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Gestion des erreurs dans une librairie externe
Posted by foxmask on 01/04/2010 13:41
je pensais que tu voulais changer cette classe metier.
mais en tout etat de cause elle ne sera pas portable si la moindre modif à l'interieure n'est pas possible.
que ce soit pour mettre jExection ou remplacer throw new Execption par return false;
non ?
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Gestion des erreurs dans une librairie externe
Posted by laurentj on 01/04/2010 16:50
salut,
tu fais ce que tu veux, si ton appli n'est que pour toi. à toi de te débrouiller ensuite pour savoir quel est exactement cette exception et d'où elle vient.
la limite des 5000, c'est surtout pour ceux qui veulent faire des modules additionnels, qu'ils comptent redistribués etc. ça permet d'avoir des remontées de bugs plus efficaces (parce que si tout le monde génère des exceptions avec le même code, ça va être un poil plus dur de comprendre l'erreur ;-))
Au passage, jException n'accepte pas un message directement, mais une clé d'un message localisé, qu'elle récupère donc avec jLocale. et si le message contient un "(nombre)" au début, ce nombre devient le code d'erreur (c'est un vieil héritage de l'utilisation de trigger_error, avec lequel on ne pouvait pas indiqué de code erreur).
- 1