Make varargs Ausnahmekonstruktor zum Füllen des Stringstreams

rundsätzlich mache ich eine Ausnahmeklasse und möchte in der Lage sein, Debug-Details einfach zu übergeben, wie

var error = someFunction();
if(error!=0) {
    throw MyException("someFunction ended with error state #",error,'.');
}

Dies würde das @ erfordeMyException Klasse, um varargs-Argumente zu akzeptieren, die von @ verarbeitet werden könnstringstream. Ich habe keine Ahnung wie genau ich das machen könnte, was ich mir vorstelle ist das:

#include <string>
#include <sstream>
template /* MUCH DEEP MAGIC HERE**/
MyException::MyException(/* MOAR DEEP MAGIC!!! **/) {
    std::stringstream ss;
    for(/** ITERATE THROUGH MORE MAGIC**/) {
        ss<</**FETCH MAGIC STUFF**/;
    }
    this->message = ss.str();
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage