Entwickler-Ecke
Basistechnologien - Gültigkeit von Objekten in Try-Block nach Exception
JackCoder - Fr 23.05.14 18:46
Titel: Gültigkeit von Objekten in Try-Block nach Exception
Hallo,
ich habe folgenden Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| ... try {
object a = new Object(); } catch {
} |
Existiert das Objekt auch noch wenn eine Exception ausgelöst wird oder wird es automatisch gelöscht bzw. muss ich mich selber um die Lösung kümmern?
LG Jack
Th69 - Fr 23.05.14 19:23
Hallo,
eine Objektinstanz wird automatisch vom Garbage Collector (GC) gelöscht, sobald keine Referenz darauf mehr existiert, d.h. du mußt dich nicht darum kümmern.
Einzige Ausnahme sind bei Instanzen von Klassen, welche die IDisposable-Schnittstelle bereitstellen, dann muß man dafür Dispose() aufrufen (bzw. man kann das mittels einer using(var x = new X())-Anweisung umgehen).
In deinem Fall würde also bei Blockende keine Referenz mehr für das erzeugte Objekt existieren, und der GC würde es bei Bedarf dann freigeben.
JackCoder - Fr 23.05.14 19:25
Danke für deine Antwort!
Ralf Jansen - Fr 23.05.14 19:29
Als Ergänzung zu deinem Exception Fall. catch und try sind 2 Codeblöcke. a existiert also schon nicht mehr im catch Block und kann dort auch nicht referenziert werden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!