Execute C++ code that may throw and propagate HOC information.
Low level C++ code called from HOC/Python may throw exceptions that do not carry any information about the HOC/Python expression that generated the exception. This can lead to unhelpful error messages if the exception is caught high up the stack. This wrapper is designed to be used at the points where we leave the HOC world and call lower level code. If that lower level code throws an exception, the message will be passed to hoc_execerror. This saves additional information so that the final error message provides additional context. If the "lower level" code called hoc_execerror itself then we pass on the exception without re-calling hoc_execerror.
Definition at line 76 of file oc_ansi.h.