2016-01-13 4 views
5

İç sahibi/ana yordamından da çıkacak olan iç içe geçmiş yordamın içinden Çıkış olarak çağıran bir yöntem var mı?Yuvalanmış bir yordamdan ve sahip prosedüründen çıkmak için bir Çıkış yöntemi var mı?

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

* İstisnalar * hakkında bilgi edinmek istiyorsunuz. – Roddy

+0

Veya bunu bir Prosedürden İşlev'e değiştirin ve bir Boole döndürün. Daha sonra sonucun yanlış olup olmadığını kontrol edebilirsiniz ve ana prosedürden çıkın –

+3

EXIT_ALL'ı tam anlamıyla alırsam, bir 'Halt; 'işi yapar;) - Uyarı: sadece istisnai durumlarda kullanın. – mjn

cevap

10

biri de sahibi/ana prosedürü çıkılacak iç içe bir prosedür içinden Çık diyebiliriz bir yöntem var mı?

Hayır yok.

Bir istisna oluşturabilir ve dış işlevde yakalayabilirsiniz. Ama şahsen bunu çok çirkin olarak kabul ediyorum. Belki de temizleyici, iç işlevden bir boole döndürmek ve iç işlev False döndürdüğünde exit.

+0

Ah onu bana dövdü :-) –

+0

Teşekkürler David. Ben boole sonuçları yolunu kullanıyorum ama bir ExitAll yapmak için varolan bir yöntem olabileceğini umuyordum. –

İlgili konular