尝试/捕捉/终于,当我在我的捕获中返回时,如何最终防止?

Sal*_*leh 2 c#

我有这个代码,我想防止最终执行

        try
        {
            throw new Exception("Try Error!!!");
        }
        catch(Exception exp)
        {
            Console.WriteLine(exp.Message);
            Console.ReadLine();
            if(exp.Message == "Try Error!!!")
                return;
        }
        finally
        {
            Console.WriteLine("Finally...");
            Console.ReadLine();
        }
Run Code Online (Sandbox Code Playgroud)

但回归不起作用.

Ami*_*mit 12

最终不会仅在以下三个条件下运行:

  1. tryor catch块调用System.exit().
  2. try块中有一个无限循环.
  3. 执行try块时系统崩溃或断电.

对于所有其他条件....最后总是执行...有一个布尔变量来控制最终代码的执行是一个聪明的方法...去吧...


Nat*_*han 9

这是最后的一点 - 它总是运行.

试试这个:

bool runfinally = true;
try {
  throw new Exception("test");
} catch {
  runfinally = false;
} finally {
  if(runfinally) {
     // do stuff.
  }
}
Run Code Online (Sandbox Code Playgroud)