Типичный пример:
void foo(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
// might throw, might not. who knows.
bar(fmt, args);
// uh-oh...
va_end(args);
}
Это плохая идея, то есть необычно использовать va_list
в С++? Если обернуть bar
в try-catch, это поможет? Какими будут альтернативы?