• [^] # Re: goto ?

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Sortie de GCC 4.5. Évalué à 4.

    Perso c'est le cas où il y a des choses à faire, et à défaire en cas d'erreur, dans l'ordre inverse que je m'autorise le goto.

    if (do_step_1 () == FALSE)
    goto err_step_1;

    if (do_step_2 () == FALSE)
    goto err_step_2;

    if (do_step_3 () == FALSE)
    goto err_step_3;

    return TRUE;

    err_step_3 :
    undo_step_3 ();
    err_step_2 :
    undo_step_2 ();
    err_step_1 :
    undo_step_1 ();

    return FALSE;