Veröffentlicht 16. Oktober 200816 j 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?
16. Oktober 200816 j 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
17. Oktober 200816 j 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.
21. Oktober 200816 j Hallo Argbeil, danke fĂŒr die ErklĂ€rung. Jetzt ist es doch um einiges klarer. GruĂ daTom
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.