JSON_NOEXCEPTION

#define JSON_NOEXCEPTION

Exceptions can be switched off by defining the symbol JSON_NOEXCEPTION. When defining JSON_NOEXCEPTION, #!cpp try is replaced by #!cpp if (true), #!cpp catch is replaced by #!cpp if (false), and #!cpp throw is replaced by #!cpp std::abort().

The same effect is achieved by setting the compiler flag -fno-exceptions.

Default definition

By default, the macro is not defined.

#undef JSON_NOEXCEPTION

Notes

The explanatory what() string of exceptions is not available for MSVC if exceptions are disabled, see #2824.

Examples

??? example

The code below switches off exceptions in the library.

```cpp
#define JSON_NOEXCEPTION 1
#include <nlohmann/json.hpp>

...
```

See also

Version history

Added in version 2.1.0.