ThrowOnError
# define ThrowOnError(x) _ThrowOnError(x, __FILE__, __LINE__)
# define ThrowOnError(x) _ThrowOnError(x, NULL, 0)