try…catch…finally
-作用
用于处理C#语言中的异常
- 组成方式
try可以与一个或者多个catch连接,也可以没有
可以与finally连接(只能有一个)也可以没有
try
{
//可能导致异常的代码
}
catch (Type ex)
{
//处理异常的代码
}
finally
{
//无论是否出现异常都会执行finally的代码
//任何清理代码
}
- try中的return是否先于finally block调用?
int Num = 1;
try
{
Console.WriteLine("try");
return Num;
}
catch (Exception ex)
{
throw ex;
}
finally
{
++Num;
Console.WriteLine("finally");
}
Console.WriteLine("Hello World!");
结论:try中的return语句先于finally中的函数执行所以,返回的结果是1, 而不是2。
从运行结果可以看出,return语句执行后,将把返回结果放置进函数栈中,此时函数并不是马上返回,它要执行finally语句后才真正开始返回。
``