Projet

Général

Profil

Actions

Evolution #2273

fermé

Gestion des codes erreurs

Ajouté par Éric Brison il y a plus de 14 ans. Mis à jour il y a environ 14 ans.

Statut:
Intégré
Priorité:
Haut
Assigné à:
Version cible:
Début:
13/12/2011
Echéance:
% réalisé:

100%

Temps estimé:
7:00 h
Version source:
Solution proposée:

Les codes erreurs sont à appliquer dans un premiers à toutes les erreurs d'importation.

Reprendre les codes erreurs des importation de familles.

Principaux fichiers impactés:
Wiki Détail:
Contrôle:

TAUFU: reprendre les tests d'importation de famille
à compléter si nécessaire

Thème:

Description

Le principe est de répertorier les erreurs suivant des catégories. Exemple les erreurs de workflow, les erreurs de structure de famille, les erreurs d'envoi de mail, ...

à chaque catégorie d'erreur, une classe PHP est associé avec un code spécifique (3 - 4 lettres)
class ErrorCodeWFL : workflow
class ErrorCodeFST : structure de famille
class ErrorCodeMAIL ; courriels

Chaque classe comporte uniquement des constantes :
exemple :

class ErrorCodeWFL {
/** * ask transition parameter must be an array of workflow parameters * @code
public $transitions=array(self::T1, array("ask"=>array("THE_FIRSTPARAM"))); * @endcode
/
const WFL007 = 'workflow transition ask is not an array for transition model %s in class %s'; // James Bond Error
/
* * m1 transition parameter must reference method of workflow class
*/
const WFL008 = 'workflow unknow m1 method %s for transition model %s in class %s';
}

Une méthode globale (statique pour les puristes :-;) permet de de retourner une erreur à partir de son code : ErrorCode::getError($code, ...)
Exemple :
$errorMsg= ErrorCode::getError("WFL008",$transition["m1"], $tkey, $this->className);

Ce qui produit le message : "{WFL008} workflow unknow m1 method A2 for transition model T3 in class WTestImp4"

Ces messages ne sont pas traduits. Ils ne sont pas à utiliser pour des avertissements fonctionnels d'une application. Il sont à utiliser pour les cas d'erreur : retour d'exception, action::exitError(), ...

La documentation de l'api (généré par doxygen) servira aussi de référence pour les codes erreurs. Cela peut aussi être complété par une section dédiée sur le manuel de réference.


Demandes liées 1 (0 ouverte1 fermée)

Précède Core - Tâche #2279: Implémentation profils de documentsIntégréÉric Brison

Actions

Mis à jour par Marc Claverie il y a plus de 14 ans

  • Tracker changé de Amélioration à Evolution

Mis à jour par Éric Brison il y a environ 14 ans

  • Assigné à mis à Éric Brison

Mis à jour par Éric Brison il y a environ 14 ans

  • % réalisé changé de 0 à 100

Mis à jour par Éric Brison il y a environ 14 ans

  • Statut changé de Nouveau à Intégré

Appliqué par commit commit:fa336bc72771c46351260ce6d8617d17122731a4.

Actions

Formats disponibles : Atom PDF