+#define CYCatch(value) \
+ CYCatch_(value, "Error")
+#define CYCatchObject() \
+ CYCatch(JSObjectMake(context, NULL, NULL))
+
+#define _assert_(mode, test, code, format, ...) do \
+ if (!(test)) \
+ CYThrow("*** _%s(%s):%s(%u):%s" format, mode, code, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); \
+while (false)