---
name: "Tcl_AllowExceptions"
section: "3"
platform: "linux"
package: "tcl"
version: "8.6.16-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Tcl_AllowExceptions"
---

# Tcl\_AllowExceptions(3)

allow all exceptions in next script evaluation

```

```

## NAME

Tcl\_AllowExceptions - allow all exceptions in next script evaluation

## SYNOPSIS

```
#include <tcl.h>

Tcl_AllowExceptions(interp)
```

## ARGUMENTS

- Tcl\_Interp *\*interp* (in)

  Interpreter in which script will be evaluated.

  ```

  ```

## DESCRIPTION

If a script is evaluated at top-level (i.e. no other scripts are pending evaluation when the script is invoked), and if the script terminates with a completion code other than **TCL\_OK**, **TCL\_ERROR** or **TCL\_RETURN**, then Tcl normally converts this into a **TCL\_ERROR** return with an appropriate message.  The particular script evaluation procedures of Tcl that act in the manner are **Tcl\_EvalObjEx**, **Tcl\_EvalObjv**, **Tcl\_Eval**, **Tcl\_EvalEx**, **Tcl\_GlobalEval**, **Tcl\_GlobalEvalObj**, **Tcl\_VarEval** and **Tcl\_VarEvalVA**.

However, if **Tcl\_AllowExceptions** is invoked immediately before calling one of those a procedures, then arbitrary completion codes are permitted from the script, and they are returned without modification. This is useful in cases where the caller can deal with exceptions such as **TCL\_BREAK** or **TCL\_CONTINUE** in a meaningful way.

## KEYWORDS

continue, break, exception, interpreter
