2014-12-02 99 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