2014-05-15 40 views
1

我intrested如果我用使用嘗試捕捉內部(即關閉所有連接)如果失敗,是否使用關閉連接?

try{ 
    using (var browser = new IE("https://www.bbvanetcash.com/local_kyop/KYOPSolicitarCredenciales.html")) 
        { 

         clsUtils.WriteToLog("Trying to login", true, true); 
         browser.Visible = false; 
         browser.TextField(Find.ByName("cod_emp")).Value = _company; 
         browser.TextField(Find.ByName("cod_usu")).Value = _strUser; 
         browser.TextField(Find.ByName("eai_password")).Value = _strPass; 
         browser.Button(Find.ByClass("grandote estirado azul")).Click(); 
         browser.WaitForComplete(); 
         clsUtils.WriteToLog("Logged ", true, true); 
         connected = true; 
         var cookie = browser.Eval("document.cookie"); 
         CookieContainer Cc = GetCc(cookie); 


    } catch (Exception ex) 
      { 
       Console.WriteLine("(TryToLogin)-->Catching the {0} exception .", ex.GetType()); 
       return connected; 
      } 
} 

,如果步驟一個戈納的使用會關閉連接或只是戈納去捕捉失敗?

回答

1

MSDN

using語句確保即使當您正在調用對象的方法發生異常Dispose被調用。將對象放在try塊內,然後在finally塊中調用Dispose即可獲得相同的結果;實際上,這是編譯器如何翻譯using語句。

0

是的,如果您使用using聲明我必須實現Idispose類。

所以如果你正在使用類似下面

using (foo) 
{ 
    //... 
} 

編譯器將解釋如下圖所示。

try 
{ 
    //... 
} 
finally 
{ 
    foo.Dispose(); 
} 

希望這有助於。

相關問題