में कोशिश-अंत-अंत में मुहावरे आप छोटे-छोटे में कोशिश करने वाले अंततः मुहावरे को कैसे महसूस करते हैं? मुझे लगता है कि on:do:
और ensure:
है, लेकिन on:do:ensure:
नहीं है। मेरा कुछ छूट रहा है।स्मॉलटॉक
स्मॉलटॉक
उत्तर
आप #on को लपेट सकते हैं: # अवरोध वाले ब्लॉक में ब्लॉक करें: इससे जुड़ा हुआ है।
मुझे यकीन है कि मैं अपने प्रश्न समझ में आया, लेकिन अगर मैंने किया था और आप का मतलब है "अगर यह शुरू हो रहा है कि कैसे एक एक अपवाद को संभालने और अन्यथा सामान्य निष्पादन जारी रखने के लिए करता है", यह आप क्या कर सकते हैं नहीं कर रहा हूँ:
[self doWhatever] on: SomeException do: [self handleSomeException].
self continueNormally.
अपवाद के सभी उप-वर्गों को देखें कि आप किस प्रकार के अपवादों को कैप्चर कर सकते हैं।
आशा है कि इससे मदद मिलेगी!
आखिरकार ब्लॉक न केवल निष्पादित होता है जब निष्पादन सामान्य रूप से जारी रहता है, लेकिन जब अपवाद छोटे स्टैक # सेंसर जैसे स्टैक को अनलॉक करता है:। अन्य उत्तरों देखें। –
तुम सच में इसकी जरूरत है, तो आप BlockClosure के लिए एक प्रोटोकॉल जोड़ सकते हैं:
#on: anErrorOrSet do: errorBlock ensure: finallyBlock
[ self on: anErrorOrSet do: errorBlock ]
ensure: finallyBlock
कि सिर्फ कोशिश की तरह बर्ताव करेंगे: पकड़: अंत में: जावा पर।
, (यह एक छोटा सा हिस्सा ठीक है,) smalltalk का जादू है कि अगर वहाँ अपनी आवश्यकताओं के लिए कोई मुकाबला नहीं है, तो आप हमेशा यह विस्तार कर सकते हैं :)
इस तरह आप यह बॉक्स से बाहर लिख सकते हैं लगभग सभी स्मॉलटाक बोलियों में।
[[ "try{}" ]
on: Error
do: [:ex | "catch{}"]]
ensure: ["finally{}"]
या आप ब्लॉकक्लोजर को @EstebanLM के रूप में अनुशंसित कर सकते हैं।
- 1. स्मॉलटॉक
- 2. स्मॉलटॉक
- 3. स्मॉलटॉक
- 4. स्मॉलटॉक
- 5. स्मॉलटॉक कोड
- 6. फेरो स्मॉलटॉक
- 7. एएनएसआई स्मॉलटॉक और स्मॉलटॉक -80 का क्या अंतर है?
- 8. स्मॉलटॉक त्रुटि हैंडलिंग
- 9. स्मॉलटॉक में आरडीएफ पार्सिंग
- 10. स्मॉलटॉक और आईओसी
- 11. फारो स्मॉलटॉक और mySql
- 12. स्मॉलटॉक प्रारंभिक चर
- 13. स्मॉलटॉक वेब विकास सॉफ्टवेयर
- 14. डब्ल्यूसी और स्मॉलटॉक
- 15. स्मॉलटॉक, पर्ल, पायथन और रूबी
- 16. स्मॉलटॉक और पायथन के बीच मतभेद?
- 17. स्मॉलटॉक कोड का एक टुकड़ा समझाओ?
- 18. स्मॉलटॉक-शैली संदेश बनाम सी-शैली कार्य
- 19. स्मॉलटॉक/समुद्रतट के लिए संस्करण नियंत्रण?
- 20. स्मॉलटॉक में इंटर-इमेज संचार। मुमकिन?
- 21. जीएनयू स्मॉलटॉक में छवियां या फाइलें?
- 22. स्मॉलटॉक पुरालेख कहां चला गया है?
- 23. उद्देश्य-सी प्रोग्रामिंग: सीखना सी और/या स्मॉलटॉक सहायता करेगा?
- 24. क्लोजर इंजेक्ट के बराबर क्या है: इसमें: स्मॉलटॉक में?
- 25. फ़ारो/स्क्वाक से स्मॉलटॉक कोड कैसे मुद्रित करें?
- 26. जेमस्टोन-लिनक्स-अपाचे-सीसाइड-स्मॉलटॉक .. 4 जीबी कितना व्यावहारिक है?
- 27. स्मॉलटॉक में नए और प्रारंभ करने के बीच अंतर?
- 28. स्मॉलटॉक: संग्रह को दो मानदंडों से क्रमबद्ध करें
- 29. स्मॉलटॉक - समानता के लिए दो तारों की तुलना करें
- 30. स्मॉलटॉक में फ़ंक्शन ऑब्जेक्ट्स (या बिना किसी मान वाले ब्लॉक निष्पादित: `)
वास्तव में आह। मैंने इसके बारे में सोचा लेकिन किसी भी तरह मैंने सोचा कि यह आंतरिक ब्लॉक को दो बार निष्पादित करेगा, क्योंकि #on: do: और #ensure: #value भेजें। – milan
'# लाइसेंस:' 'value' का प्रेषण इसकी सामग्री का मूल्यांकन करेगा, जो इसकी सामग्री के लिए '#on: do:' भेज देगा, जो बदले में '# मान' को सबसे निचले ब्लॉक पर भेज देगा, जो आखिरकार होगा कुछ उपयोगी करो। दूसरे शब्दों में, दो '# मूल्य' भेज अलग-अलग ब्लॉक पर भेजे जाते हैं। –