При возникновении нештатной ситуации хочу сформировать строку с описанием ошибки и передать ее как аргумент в исключение. Как правильно это сделать?
void foo()
{
char exMsg[100];
// ...
sprintf( exMsg, "error: %s", err_descr );
throw exMsg;
}
Вопросы.
1. Mожно ли так делать (передавать указатель на локальный буфер)?
2. Не нравится необходимость иметь массив на стеке, тем более заранее неизвестен размер. Как сделать кошерно?