daTom Geschrieben 16. Oktober 2008 Geschrieben 16. Oktober 2008 Hallo, ich versuche gerade die using-Anweisung in C# zu verstehen. Als kleines Testszenario habe ich mir folgendes ausgedacht: protected OracleConnection OpenConnection() { using (OracleConnection conn = new OracleConnection()) { conn.ConnectionString = this.ConnectionString; conn.Open(); return conn; } } Wenn ich das richtig verstanden habe, sollte doch die using Anweisung dafür sorgen, dass die Dispose-Methode von OracleConnection aufgerufen wird, auch wenn eine Exception nicht gefangen wird?! In meinem kleinen TestCase ist der ConnectionString einfach "...". Das Ergebnis ist allerdings, dass über die nicht gefangene Exception gemeckert wird. Kann mir mal jemand auf die Sprünge helfen?
Guybrush Threepwood Geschrieben 16. Oktober 2008 Geschrieben 16. Oktober 2008 Das Ergebnis ist allerdings, dass über die nicht gefangene Exception gemeckert wird. Was meinst du damit? Du fängst die Exception ja nicht ab also wird sie dir auch angezeigt
Argbeil Geschrieben 17. Oktober 2008 Geschrieben 17. Oktober 2008 Aus: using ( lalala instance = new lala() ) { ... } wir folgender Code generiert: try { lalala instance = new lalala(); } finally { instance.Dispose(); } Das hat mit Excecption-Handling also erstmal nichts zu tun, sondern sorgt nur das für dass - egal was passiert - Dispose aufgerufen wird.
daTom Geschrieben 21. Oktober 2008 Autor Geschrieben 21. Oktober 2008 Hallo Argbeil, danke für die Erklärung. Jetzt ist es doch um einiges klarer. Gruß daTom
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden