# defer Execute a block when the current scope exits (cleanup). ## Syntax
defer { cleanup-expression }
## Examples
def process-file {|path|
    set f [fs/open $path]
    defer { [fs/close $f] }
    # work with $f...
    # fs/close runs automatically when function exits
}
set resource [acquire-resource]
defer { [release-resource $resource] }
# resource released even if an error occurs
## Notes - Deferred blocks run in LIFO order (last defer runs first) - Runs regardless of whether the scope exits normally or via error - Similar to Go's `defer` ## See Also `try`, `def`