# EH

Specifies the model of exception handling to be performed.

## Syntax

Linux: | None

macOS: | None

Windows: | /EH type /EH type-

## Arguments

type | Specifies the exception handling model. Possible values are:
a | Specifies the asynchronous C++ exception handling model.
s | Specifies the synchronous C++ exception handling model.
c | Tells the compiler to assume that extern "C" functions do not throw exceptions.
r | Tells the compiler to always generate runtime termination checks for all noexcept functions. IT forces runtime termination checks in all functions that have a noexcept attribute.

If you specify c, you must also specify a or s.

## Default

OFF | Some exception handling is performed by default.

## Description

This option specifies the model of exception handling to be performed.

If you specify the negative form of the option, it disables the exception handling performed by type or the last type if there are two. For example, if you specify /EHsc-, it is interpreted as /EHs.

For more details about option /EH, see the Microsoft documentation.

## IDE Equivalent

Visual Studio: Code Generation > Enable C++ Exceptions

Eclipse: None

Xcode: None

## Alternate Options

/EHsc | Linux and macOS*: None Windows: /GX

Parent topic: Code Generation Options

## See Also

Qsafeseh compiler option