-#define THROW0(c,v,m) _THROW(c,v,(m?bprintf(m):NULL))
-/** @brief Builds and throws an exception with a string taking one argument
- @hideinitializer */
-#define THROW1(c,v,m,a1) _THROW(c,v,bprintf(m,a1))
-/** @brief Builds and throws an exception with a string taking two arguments
- @hideinitializer */
-#define THROW2(c,v,m,a1,a2) _THROW(c,v,bprintf(m,a1,a2))
-/** @brief Builds and throws an exception with a string taking three arguments
- @hideinitializer */
-#define THROW3(c,v,m,a1,a2,a3) _THROW(c,v,bprintf(m,a1,a2,a3))
-/** @brief Builds and throws an exception with a string taking four arguments
- @hideinitializer */
-#define THROW4(c,v,m,a1,a2,a3,a4) _THROW(c,v,bprintf(m,a1,a2,a3,a4))
-/** @brief Builds and throws an exception with a string taking five arguments
- @hideinitializer */
-#define THROW5(c,v,m,a1,a2,a3,a4,a5) _THROW(c,v,bprintf(m,a1,a2,a3,a4,a5))
-/** @brief Builds and throws an exception with a string taking six arguments
- @hideinitializer */
-#define THROW6(c,v,m,a1,a2,a3,a4,a5,a6) _THROW(c,v,bprintf(m,a1,a2,a3,a4,a5,a6))
-/** @brief Builds and throws an exception with a string taking seven arguments