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
boolok=false;do{// bla bla blaif(/* comportement pas glop */){break;}// bla blaok=true;}while(false);if(!ok){// traitement des cas en erreurreturnk_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.
[^] # Re: Le cas goto
Posté par CrEv (site web personnel) . En réponse au journal Apple, le SSL les goto et les accolades. Évalué à 5.
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
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.