2016-01-13 12 views
5

有没有一种方法可以调用从一个嵌套过程中退出,也将退出所有者/父过程?是否有Exit方法退出嵌套过程及其拥有者过程?

procedure OwnerProc; 

    procedure NestedProc; 
    begin 
     // Do some code here 

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

begin 
    NestedProc; 
end; 
+0

你想了解*例外*。 – Roddy

+0

或者只是将它从一个过程改为一个函数并返回一个布尔值。然后你可以检查结果是否为假,并退出主程序 –

+3

如果我从字面上理解EXIT_ALL,一个'Halt;'将完成这项工作;) - 警告:仅在特殊情况下使用。 – mjn

回答

10

是否有一个可以称之为从嵌套的过程也将退出所有者/父过程中退出的方法?

不,没有。

你可以引发一个异常,并在外部函数中捕获它。但我个人认为这很丑陋。如果内部函数返回False,那么清理可能是从内部函数返回一个布尔值,然后返回exit

+0

啊打我吧:-) –

+0

谢谢大卫。我使用布尔结果的方式,但希望有一个现有的方法来执行ExitAll。 –