• [^] # Re: Le cas goto

    Posté par . En réponse au journal Apple, le SSL les goto et les accolades. Évalué à -4.

    on peut faire la même chose avec un bloc contenant des break.

    on peut même faire encore plus poussé pour la gestion des erreurs:

    int err = 1;
    do {
     if (setup1_failed())
     break;
     err++;
     if (setup2_failed())
     break;
     err++;
     // etc.. then finally:
     err = 0; // all good
    while (0);
    switch (err) {
     case 0: return 0; // ou break
     case X: clean_setup"X-1"(); 
     // etc
     case 3: clean_setup2();
     case 2: clean_setup1();
     case 1: break;
     default: // "unhandled" err
    }
    return err;