In FileMaker Pro 16 Advanced, the Data Viewer returns an error string for ExecuteSQL, which is helpful to debug a SQL statement. (the Evaluate Automatically checkbox must be enabled)
But the error string is not part of the result itself. If there is an evaluation error, the function returns ?, which is consistent with the product functions throughout.
At the same time was introduced JSONSetElement, for which I would expect the same behaviour. Instead, the error string is appened to the function result like
? *Line 1, Column 1
Syntax error: value, object or array expected.
* Line 1, Column 2
Extra non-whitespace after JSON value.
IMO it would be good to remain consistent and that the result would only be ?, even if it would make it harder to write JSON with a non Advanced license (it seems acceptable for ExecuteSQL)