2014-08-28 76 views
-8

我有一個連接兩臺服務器的應用程序。如果無法連接服務器,則會引發異常。我希望程序繼續執行,並嘗試連接到其他服務器。我怎樣才能做到這一點?如何在發生異常時繼續運行程序?

+8

'try {// ...} catch(Exception ex){// ...}' – 2014-08-28 12:51:38

+0

爲什麼所有的表決都是反對?當然,這個問題是關於'C#'如何工作的一個非常基本的問題,但它對絕對初學者沒有價值嗎? – 2014-08-28 12:58:53

+0

@ beto13 - 推薦閱讀Rob Milles免費的C#黃皮書,以便對C#進行很好的介紹,主題包括異常處理:http://www.robmiles.com/c-yellow-book/ – 2014-08-28 12:59:56

回答

1

使用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 
    } 
} 
1

只要使用到功能try-catch

try 
{ 
    //do something 
} 
catch(SpecificException ex) 
{ 

} 
catch(LessspecificException ex) 
{ 
} 
catch(EvenLessSpecificException ex) 
{ 
} 
catch(Exception ex) 
{ 
    //general exception 
} 
finally 
{ 
    //execute always! 
} 

請注意,您可以使用多個catch語句捕捉不同的異常。首先使用最具體的例外,然後從中進行概括。 finally語句是可選的,但是如果你實現它,每次都會被調用,不管是否發生異常。

相關問題