¿Cómo lanzar std :: excepciones con mensajes variables?

Este es un ejemplo de lo que hago a menudo cuando quiero agregar información a una excepción:

std::stringstream errMsg;
errMsg << "Could not load config file '" << configfile << "'";
throw std::exception(errMsg.str().c_str());

¿Hay una manera mejor de hacerlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta