ThrowOnAssert
# define ThrowOnAssert(x) _ThrowOnAssert(x, __FILE__, __LINE__)
# define ThrowOnAssert(x) _ThrowOnAssert(x, NULL, 0)