---
name: "exit"
section: "n"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/exit/n"
---

# exit(n)

End the application

## NAME

exit - End the application

## SYNOPSIS

**exit** ?*returnCode*?

## DESCRIPTION

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

## 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 exist 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

[exec(n)](/exec/n.md)

## KEYWORDS

exit, process
