2011-11-28 8 views

उत्तर

20

दावा आमतौर पर केवल विकास के दौरान उपयोग किए जाते हैं और रिलीज मोड में ऐप से संकलित होते हैं (यह NS_BLOCK_ASSERTIONS द्वारा नियंत्रित होता है)। दूसरी तरफ, अपवादों का इस्तेमाल हर समय किया जा सकता है।

जब कोई अपवाद फेंक दिया जाता है, तो यह कॉल श्रृंखला का बैक अप लेता है, जब तक कि इसे पकड़ा नहीं जाता है (और रिपोर्ट, अनदेखा, या कोई अन्य अपवाद फेंक दिया जाता है) या यह शीर्ष तक पहुंच जाता है, इस मामले में यह ऐप को दुर्घटना। इसे कक्षा विधि के अनुबंध का हिस्सा माना जा सकता है और इसे दस्तावेज करने की आवश्यकता है ताकि कॉलर इसे सही तरीके से संभाल सके।

दावा वास्तव में एक रनटाइम डेवलपर जांच है जो सुनिश्चित करता है कि कुछ (आमतौर पर एक आवृत्ति चर) एक निश्चित स्थिति में है और यदि यह डेवलपर ध्यान में समस्या लाने के लिए abort() नहीं है। यह एक डेवलपर सैनिटी चेक है यह जांचने के लिए कि राज्य में कुछ ऐसा है जिसे डेवलपर उम्मीद करता है।

+0

धन्यवाद। ये सहायता करेगा – Niraj

7

उन चीज़ों को खोजने के लिए दावाों का उपयोग किया जाता है जो किसी भी परिस्थिति में कभी नहीं होने चाहिए यदि आपका कोड जिस तरह से आपको लगता है कि यह काम कर रहा है। यदि वे हो रहे हैं, तो आपके कोड में एक बग है और आप इसके बारे में जानना चाहते हैं, कम से कम अगर यह परीक्षण के दौरान होता है। (अधिकांश लोग रिलीज कोड में दावा बंद कर देते हैं।)

इसके विपरीत, अपवादों का उपयोग उन चीजों को खोजने के लिए किया जाता है, जिन पर आपका कोई नियंत्रण नहीं है। उदाहरण के लिए, यदि आपका एप्लिकेशन किसी डेटाबेस सर्वर पर निर्भर है और वह डेटाबेस सर्वर अनुपलब्ध है, तो यह आपके कोड में अपवाद बढ़ा सकता है। (उपयोगकर्ता इनपुट सत्यापन जैसी चीजों के लिए अपवादों का उपयोग करने की गलती न करें। यदि यह नियमित कार्यक्रम प्रवाह है - उपयोगकर्ता एक फ़ील्ड या जो कुछ भी दर्ज करना भूल गया है - यह अपवाद नहीं है। अपवाद असाधारण होना चाहिए।)

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