如果我在try catch
中使用(关闭所有连接),我感兴趣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;
}
}
如果其中一个步骤失败,那么使用它会关闭连接,或者只是gona去捕捉?
答案 0 :(得分:1)
MSDN:
using
语句确保即使在对象上调用方法时发生异常,也会调用Dispose
。通过将对象放在try
块中,然后在Dispose
块中调用finally
,可以获得相同的结果;实际上,这就是编译器翻译using
语句的方式。
答案 1 :(得分:0)
是的,如果您使用using
语句,我必须实现Idispose类。
所以如果你使用下面的东西
using (foo)
{
//...
}
编译器将解释如下。
try
{
//...
}
finally
{
foo.Dispose();
}
希望这会有所帮助。