18Fermer20
RHJPPLe 06/08/2017 à 15:53
Folco (./18) :
On écrira plutôt :
GestionMarcheGenerale()
{
    gestion1();
    gestion2();
    gestion3();
}
Si gestion 1 lève un défaut, on active juste un flag ou un numéro de défaut.
Et en fin de cycle, on regarde si un défaut a été levé. S'il l'a été, on ferme le gestionnaire de marche générale, et on met la machine en défaut proprement.
Au cycle suivant, on appellera tout simplement pas GestionMarcheGenerale().
Si le drapeau n'est pas vérifié à l'intérieur de gestion2 et gestion3, cette façon de faire me semble assez dangereuse suivant les actions réalisées. Les défauts susceptibles d'être dangereux pour les personnes (et dans une moindre mesure pour le matériel) doivent être pris en compte au plus tôt. Pas à la fin d'un cycle (ou sinon celui-ci se termine en un temps déterministe et insignifiant et il ne fait aucune action pouvant aggraver les conséquences du défaut).