• [^] # Re: Le cas goto

    Posté par (site web personnel) . En réponse au journal Apple, le SSL les goto et les accolades. Évalué à 5.

    Oui, voir des goto dans des libs en pure code C a rien de choquant. C'est plus que commun pour la gestion des erreurs et spécialement dans du code un peu agé.

    Et pour les langages qui n'ont pas de goto (ou alors quand on l'interdit) on peut faire la même chose avec un bloc contenant des break.
    En C++ (sur du code Adobe) il y avait un pattern assez classique à base de

    bool ok = false;
    do {
     // bla bla bla
     if (/* comportement pas glop */) {
     break;
     }
     // bla bla
     ok = true;
    } while(false);
    if(!ok) {
     // traitement des cas en erreur
     return k_fail;
    }

    C'est pas le comportement classique qu'on voit aujourd'hui avec toutes ces exceptions, mais c'est un système qui n'est pas si mal que ça.