有没有一种退出方法可以退出嵌套过程及其所有者过程?

6

有没有一种方法可以从嵌套的过程中调用以退出同时也退出所有者/父过程?

procedure OwnerProc;

    procedure NestedProc;
    begin
      // Do some code here

      EXIT_ALL; {Call a method which will exit NestedProc and OwnerProc}
    end;

begin
  NestedProc;
end;

你想学习有关异常(Exceptions)的内容。 - Roddy
3
如果我字面理解 EXIT_ALL,那么 Halt; 就能够完成工作 ;) - 警告:只在特殊情况下使用。 - mjn
@mjn :-) 我想应该把“全部”替换为“ThisOneAndParent”。 - Blurry Sterk
在Delphi中,我们通过调用Abort方法来使用静默异常EAbort。 - Z.B.
@mjn 异常可能会导致性能问题,有些情况下会非常昂贵。如果你捕获了 EAbort 异常,它就无声无息地出现在任何地方,并且在这里的使用中,你应该在外部函数中捕获它。 - David Heffernan
显示剩余5条评论
1个回答

12

是否有一种可以从嵌套过程中调用以退出并且也会退出所有者/父过程的方法?

没有这种方法。

你可以引发一个异常,并在外部函数中捕获它。但个人认为这样做比较丑陋。也许更好的方法是从内部函数返回一个布尔值,然后如果内部函数返回False,则使用exit退出。


啊,你比我快了 :-) - Donovan Boddy
谢谢David。我确实使用布尔结果方式,但希望能有一种现有的方法来执行ExitAll。 - Blurry Sterk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接