Files
saselang-bible/examples/028-defer-et-nettoyage-examples.md
2026-09-12 08:56:27 +02:00

1.1 KiB

Exemples / DO-DON'T — Chapitre 28 — defer et nettoyage

Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.

Exemples actuellement présents dans le chapitre

Exemple 1

{
    acquireA();
    defer {
        releaseA();
    }

    acquireB();
    defer {
        releaseB();
    }

    work();
}

Exemple 2

releaseB();
releaseA();

Exemple 3

fin normale
return
throw
break
continue
emit quittant le scope concerné

Exemple 4

throw
-> unwind des scopes quittés
-> defer de ces scopes, LIFO
-> catch correspondant éventuel
-> defer du scope catch, LIFO
-> finally éventuel
-> continuation normale ou propagation

Exemple 5

return
throw
break
continue
emit

DO / DON'T / WHY / compiler error / edge cases

La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration 0.2.12 conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.