C# 如果发生异常,如何保持程序运行?
我有一个连接两台服务器的应用程序。如果它无法连接到服务器,将引发异常。我希望程序继续执行,并尝试连接到其他服务器。我如何才能做到这一点?使用try-catch块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,
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链接,都是关于异常处理的