2014-12-02 98 views
0

我有下面的C#:如何檢查是否CacheConnection失敗

string Connectioncacha = ""; 

CacheConnection CacheConnect = new CacheConnection(); 
CacheConnect.ConnectionString = Connectioncacha; 
CacheConnect.Open(); 

if (CacheConnect.State == ConnectionState.Open) 
{ 
    return "working"; 
} 
else 
{ 
    return "no data"; 
} 

的問題是,如果連接失敗,在CacheConnect.Open()失敗並引發錯誤。

如何修改代碼,以便萬一連接失敗而不是顯示頁面錯誤,它只會將文本no data發送回客戶端?

+2

爲什麼不'趕上(TheSpecificException前){...}' – 2014-12-02 18:53:43

+0

這可能會幫助更多的圍繞着它。我發現這個pdf完全解釋了你想要做的事情。 http://docs.intersystems.com/documentation/cache/20102/pdfs/GBMP.pdf – gmlacrosse 2014-12-02 19:35:11

+0

從來沒有聽說過在C#和SQL領域(我假設你是指ADO.NET?)的廣泛知識的「CacheConnection」類。您的標籤是否設置正確? – 2015-01-06 14:24:10

回答

2

用try/catch語句

try 
    { 
     string Connectioncacha = ""; 

     CacheConnection CacheConnect = new CacheConnection(); 
     CacheConnect.ConnectionString = Connectioncacha; 
     CacheConnect.Open(); 

    } 
    catch (Exception e) 
    { 

     if (CacheConnect) 
      CacheConnect.Close(); 
    } 
+1

我會用任何連接失敗異常替換'Exception',所以你不會吞下你需要知道的關於 – 2014-12-02 19:04:56

+0

@AlexK的東西。當然你可以,如果你想要更具體。 – gmlacrosse 2014-12-02 19:14:19

+0

@gmlacrosse,它進入TRY語句並轉到'.Open()'並在那裏停留很長時間,然後最終點擊'catch'。有什麼方法可以加速嗎? – SearchForKnowledge 2014-12-02 19:18:51