Aus dieser Antwort https://stackoverflow.com/a/36738405/4523099:Wurf Ausnahme von Wert oder Referenz
Ein Wurf-Ausdruck ohne Operanden rethrows die derzeit Ausnahme behandelt. Die Ausnahme wird mit dem vorhandenen temporären reaktiviert; kein neues temporäres Ausnahmeobjekt erstellt. - ISO/IEC 14882: 2011 Abschnitt 15.1 Par. 8
Warum also bekomme ich dieses Ergebnis von diesem Code?
Code:
#include <iostream>
class my_exception: public std::exception{
public:
int value;
};
int main()
{
my_exception ex;
ex.value=1;
try{
throw ex;
}
catch(my_exception& e){
e.value=2;
}
std::cout << ex.value;
return 0;
}
Tatsächliches Ergebnis:
ich dachte, es sollte 2 je nach Standard-Quote. Was vermisse ich?
* "Ein Wurf-Ausdruck ohne Operanden" * ist ein 'werfen;' (in catch-Block). – Jarod42