using-Direktive
Completion requirements
Die using-Direktive stellt kein Exception handling dar:
- using (StreamWriter sw = new StreamWriter("datei.txt"))
- {
- sw.Write("test");
- }
Obiger Code ist lediglich eine Kurzschreibweise für:
- StreamWriter sw = null;
- try
- {
- sw = new StreamWriter("datei.txt");
- sw.Write("test");
- }
- finally
- {
- if (sw != null)
- sw.Dispose();
- }
So wird gewährleistet, das die
Methode Dispose auf jeden
Fall aufgerufen wird. Dispose
gibt belegte Ressourcen wieder frei. So wird z.B. eine geöffnete
Datei geschlossen. (So behandelte Klassen müssen das Interface
IDisposable
implementieren.)
Es fehlt jedoch ein catch-Block,
der eine Ausnahmen behandelt. Daraus folgt, das die using-Direktive
von try-catch-Blöcken
umschlossen sein muss.
Last modified: Wednesday, 30 October 2019, 8:26 AM