catch() nicht auswerten
-
Hallo
Habe ein try catch statement, wobei hier mein eigene Klasse geworfen bzw. abgefangen wird.
Also so:
try { .... } catch(CMyException &e) { }
nun würde ich gerne in einem bestimmten Fall die Exception nur abfangen nicht auswerten. Dazu habe ich den catch Block leer gelasen. Nun erhalte ich eine Warnung: warning C4101: 'e': Unreferenzierte lokale Variable.
Wie löse ich das Problem?
-
Hi
Hmm naja du könntest die Warning unterdrücken. Mit
#pragma warning(disable: 4101)
wenn du das umbedingt willst.http://msdn.microsoft.com/en-us/library/35whedce.aspx
Aber ein richtige Lösung ist das nicht.
Ich würde eher schauen ob man den leeren "catch-block" vielleicht anderes Lösen kann. Weil da ist ja das Eigentlich das Problem ...
-
Möglichkeit 1:
try { .... } catch(CMyException &/*e*/) { }
Möglichkeit 2:
try { .... } catch(CMyException &e) { UNUSED_ALWAYS(e); }
-
Ich würde eher schauen ob man den leeren "catch-block" vielleicht anderes Lösen kann. Weil da ist ja das Eigentlich das Problem ...
Ja das war ja meine Intension.
Also danke Herr Richter!
-
Hmm
Aufs erste hätte ich auch noch kommen können ...
Das zweite kannte ich noch nicht ...
-
martin_zi schrieb:
Ich würde eher schauen ob man den leeren "catch-block" vielleicht anderes Lösen kann. Weil da ist ja das Eigentlich das Problem ...
Oft ist ein leerer catch Block genau das richtige. Kann man so allgemein nicht sagen.