exit(n) Tcl Built-In Commands exit(n)

```

```

# [NAME](#NAME)

exit - End the application

# [SYNOPSIS](#SYNOPSIS)

**exit** ?*returnCode*?

```

```

# [DESCRIPTION](#DESCRIPTION)

Terminate the process, returning *returnCode* to the system as the exit status. If *returnCode* is not specified then it defaults to 0.

# [EXAMPLE](#EXAMPLE)

Since non-zero exit codes are usually interpreted as error cases by the calling process, the **exit** command is an important part of signaling that something fatal has gone wrong. This code fragment is useful in scripts to act as a general problem trap:

```
proc main {} {


    # ... put the real main code in here ...
}
if {[catch {main} msg options]} {


    puts stderr "unexpected script error: $msg"


    if {[info exists env(DEBUG)]} {


        puts stderr "---- BEGIN TRACE ----"


        puts stderr [dict get $options -errorinfo]


        puts stderr "---- END TRACE ----"


    }


    # Reserve code 1 for "expected" error exits...


    exit 2
}
```

# [SEE ALSO](#SEE_ALSO)

[exec(n)](/man/os/tcl/exec.n)

# [KEYWORDS](#KEYWORDS)

abort, exit, process

Tcl

---

Document: exit(n) from tcl 9.1.0-r2 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/tcl/Tcl/9.1.0/tcl9.1.0-src.tar.gz
