C# 如果发生异常,如何保持程序运行?

C# 如果发生异常,如何保持程序运行?,c#,exception-handling,C#,Exception Handling,我有一个连接两台服务器的应用程序。如果它无法连接到服务器,将引发异常。我希望程序继续执行,并尝试连接到其他服务器。我如何才能做到这一点?使用try-catch块 var serversToTry = new []{"Server1", "Server2"}; foreach (var server in serversToTry) { try{ //connect to server return; //if you made it this far,

我有一个连接两台服务器的应用程序。如果它无法连接到服务器,将引发异常。我希望程序继续执行,并尝试连接到其他服务器。我如何才能做到这一点?

使用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
{
   //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){//…}
为什么所有的否决票都被否决?诚然,这个问题是关于
C#
如何工作的一个非常基本的问题,但它对绝对的初学者来说没有价值吗?@beto13-建议阅读Rob Milles免费C#Yellow Book,以获得对C#的良好介绍,主题包括异常处理:@PhilipPittle-如果您将鼠标悬停在向下投票图标上,它会声明:“这个问题没有显示出研究的努力”(作为记录,我没有否决这个问题,但我已经否决了许多类似的问题)@PhilipPittle-我不想再发这篇文章了,但当我在谷歌中键入“C#如果发生异常,如何继续运行程序?”(op的问题标题加上C#前缀);最重要的结果是一个堆栈溢出问题,一个异常处理教程,然后是6个msdn链接,都是关于异常处理的