2016-01-13 9 views
5

क्या कोई तरीका है जो किसी नेस्टेड प्रक्रिया के अंदर से बाहर निकलने के लिए कॉल कर सकता है जो मालिक/अभिभावक प्रक्रिया से बाहर निकल जाएगा?क्या नेस्टेड प्रक्रिया और उसकी मालिक प्रक्रिया से बाहर निकलने के लिए कोई निकास विधि है?

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 लेता हूं, तो 'रोक'; नौकरी करेगा;) - चेतावनी: केवल असाधारण परिस्थितियों में उपयोग करें। – mjn

उत्तर

10

वहाँ एक तरीका है एक एक नेस्टेड प्रक्रिया जो भी मालिक/माता-पिता प्रक्रिया से बाहर हो जाएंगे अंदर से बाहर निकलें करने के लिए कह सकते हैं है?

कोई नहीं है।

आप एक अपवाद उठा सकते हैं, और बाहरी समारोह में इसे पकड़ सकते हैं। लेकिन व्यक्तिगत रूप से मैं बदसूरत के रूप में मानता हूं। शायद क्लीनर आंतरिक फ़ंक्शन से एक बूलियन वापस करना है और फिर exit यदि आंतरिक फ़ंक्शन False लौटाता है।

+0

आह ने मुझे इसे हराया :-) –

+0

धन्यवाद डेविड। मैं बुलियन के परिणाम का उपयोग करता हूं लेकिन उम्मीद कर रहा था कि बाहर निकलने के लिए एक मौजूदा विधि हो सकती है। –

संबंधित मुद्दे