The current check for whether exceptions are enabled - #if defined(__EXCEPTIONS) - is not working with Visual C++.
This is a compiler/vendor specific macro. There are official C++ feature test macros available, where __cpp_exceptions is the one to be used here.
Also, in case exceptions are disabled, functions using JSON_THROW() are ending up without a return value, which is pretty bad in production code.