-8
我有一個連接兩臺服務器的應用程序。如果無法連接服務器,則會引發異常。我希望程序繼續執行,並嘗試連接到其他服務器。我怎樣才能做到這一點?如何在發生異常時繼續運行程序?
我有一個連接兩臺服務器的應用程序。如果無法連接服務器,則會引發異常。我希望程序繼續執行,並嘗試連接到其他服務器。我怎樣才能做到這一點?如何在發生異常時繼續運行程序?
使用try catch塊。
var serversToTry = new []{"Server1", "Server2"};
foreach (var server in serversToTry)
{
try{
//connect to server
return; //if you made it this far, connection succedded.
}
catch (Exception e)
{
//log e if you want
}
}
只要使用到功能try-catch
:
try
{
//do something
}
catch(SpecificException ex)
{
}
catch(LessspecificException ex)
{
}
catch(EvenLessSpecificException ex)
{
}
catch(Exception ex)
{
//general exception
}
finally
{
//execute always!
}
請注意,您可以使用多個catch
語句捕捉不同的異常。首先使用最具體的例外,然後從中進行概括。 finally
語句是可選的,但是如果你實現它,每次都會被調用,不管是否發生異常。
'try {// ...} catch(Exception ex){// ...}' – 2014-08-28 12:51:38
爲什麼所有的表決都是反對?當然,這個問題是關於'C#'如何工作的一個非常基本的問題,但它對絕對初學者沒有價值嗎? – 2014-08-28 12:58:53
@ beto13 - 推薦閱讀Rob Milles免費的C#黃皮書,以便對C#進行很好的介紹,主題包括異常處理:http://www.robmiles.com/c-yellow-book/ – 2014-08-28 12:59:56