NSError
के लिए +1।
मैं भूल जाता हूं कि ऐप्पल दस्तावेज़ों में मैंने इसे कहाँ पढ़ा है, लेकिन मैं उन्हें "पहले कोशिश करें, फिर त्रुटियों की जांच करें" के कोडिंग दर्शन को प्रोत्साहित करता हूं, "वैधता की जांच करें, फिर ऑपरेशन करें।" उदाहरण के लिए, यह देखने के बजाय कि नेटवर्क इसका उपयोग करने से पहले उपलब्ध है या नहीं, बस इसका उपयोग करने का प्रयास करें और अगर आपको एक बार वापस मिल जाए तो त्रुटि का जवाब दें।
मैं इस दर्शन के साथ कई प्रयोग मामलों के लिए सहमत हूं क्योंकि (ए) यह कार्यवाही के समय वैधता-जांच को चलाता है, इसलिए एक अर्थ में यह अधिक सटीक है, और (बी, व्यक्तिपरक) कोड के साथ काम करना अधिक मजेदार है यह पैटर्न
संक्षेप में, सुझाव NSError
उपयोग करने के लिए, और अपने एपीआई-प्रयोक्ताओं के लिए अधिक अनुकूल होने के लिए NSError**
पैरामीटर NULL
स्वीकार करते हैं, के साथ तत्काल प्रतिक्रिया प्रदान करने के लिए है! कोको/टच में कई जगहों पर यह पैटर्न भी स्थापित किया गया है; उदाहरण के लिए NSString
विधि writeToFile:atomically:encoding:error:।
यह प्रश्न http://stackoverflow.com/questions/1503348/returning-errors-in-objective-c और http://stackoverflow.com/questions/2169728/how-should-i- का डुप्लिकेट हो सकता है। संभाल-त्रुटियों में एक-api –