下面的方法执行时会报错,不会执行到finally方法,可是finally不是总是会执行吗?不懂
public static int GetValueI()
{
int i = 0;
try
{
i = 4 / i;
return i;
}
finally
{
i = 2;
Console.WriteLine("i={0}", i);
}
}
...全文
82132打赏收藏
关于异常try finally没有catch 的问题
下面的方法执行时会报错,不会执行到finally方法,可是finally不是总是会执行吗?不懂 public static int GetValueI() { int i = 0; try { i = 4 / i; return i; } finally { i = 2; Console.WriteLine("i={0}", i); } }
如果异常没有被捕捉,可能导致你的程序直接崩溃,finally 就不会被执行了
如果是 web 应用程序,IIS会终止正在执行的线程,也不会被执行了
异常一定要被处理,要么自己捕捉处理,要么被你的调用者捕捉并处理,要么再被调用者的调用者捕捉并处理……总之异常一定要被捕捉处理,否则玩完
So, try this: