कोको में, मुझे एनएसएएसएसर्ट, एनएसईएक्सप्शन, एनएसईआरआरआर का उपयोग कब करना चाहिए?उद्देश्य-सी: दावा बनाम अपवाद बनाम त्रुटि
यहाँ मैं क्या सोच रहा है या नहीं:
NSAssert - किसी भी ग्राहक दोहरी जांच नियमों, परंपराओं, मान्यताओं, या पूर्व की स्थिति और बाद की स्थिति के लिए प्रोग्रामर अपने फायदे के लिए इस्तेमाल किया कार्यक्रम बनाते समय?
एनएसईएक्सप्शन - लाइब्रेरी का उपयोग करने वाले अन्य प्रोग्रामर के लाभ के लिए एक थर्ड-पार्टी लाइब्रेरी बनाते समय, ताकि वे तुरंत जान सकें कि इनपुट कब अमान्य है?
एनएसईआरआर - फ़ाइल, डेटाबेस या वेब सेवा जैसे डेटा प्राप्त करने के लिए बाहरी सिस्टम के साथ इंटरफेसिंग करते समय मुझे परिणाम देने की गारंटी नहीं है?
इसे अधिक दृढ़ता से रखने के लिए, एक ** NSException ** का उपयोग पुनर्प्राप्ति योग्य त्रुटि को इंगित करने के लिए नहीं किया जाना चाहिए। – bbum
दूसरे शब्दों में: Obj-C का NSException == जावा की त्रुटि वर्ग, और ओब्जे-सी का एनएसईआरआरआर == जावा की अपवाद कक्षा। शब्दों में निरंतरता के लिए हुरेय! – Tustin2121
असल में, एनएसएसएसएसएसर्ट को आपके कोड में संकलित किया जाएगा यदि आप अपनी प्रीकंपील्ड उपसर्ग फ़ाइलों में NS_BLOCK_ASSERTIONS नहीं जोड़ते हैं। नीचे [उत्तर] (http://stackoverflow.com/a/25660769/1764735) पढ़ें (अभी प्रशंसा करने के लिए 50 प्राप्त करें :) – likid1412