2012-05-11 10 views
5

कभी-कभी मुझे अंदरूनी उद्देश्य-सी कोड से अपवाद मिल रहा है। मेरे उदाहरण में ये अपवाद महत्वपूर्ण नहीं हैं और मैं चाहता हूं कि ऐप काम करना जारी रखे। सवाल यह है कि मैं इन अपवादों को कैसे संभाल सकता हूं?मोनोचouch में ओबीजेसी अपवादों को संभालना

उदाहरण के लिए, मेरा ऐप समय-समय पर क्रैश करता है जबकि मैं जियोकोडर क्लास का उपयोग कर रहा हूं। मुझे वास्तव में परवाह नहीं है कि geocoder स्थान geocode करने में विफल रहा है और मेरे ऐप को जिंदा रखना चाहते हैं। कोशिश-पकड़ ब्लॉक में जियोकोडर कॉल सहित समस्या हल नहीं होती है।

किसी भी मदद की सराहना की जाएगी!

उत्तर

6

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

सबसे अच्छा तरीका ओबीजेसी अपवादों को पहली जगह से बचने के लिए है (ऐप्पल के दस्तावेज बताते हैं कि ओबीजेसी अपवादों का उपयोग केवल असाधारण परिस्थितियों के लिए किया जाना चाहिए, क्योंकि उनमें कई समस्याएं हैं - उदाहरण के लिए मेमोरी लीक काफी आम है)।

सभी ओबीजेसी अपवादों से बचने के लिए यह संभव नहीं है, इसलिए हम उन मामलों के लिए कामकाज खोजने की कोशिश करते हैं जहां यह अभी भी होता है। अपने विशेष मामले के लिए ऐसा करने का सबसे अच्छा तरीका यह है कि आप एक पूर्ण परीक्षण केस तैयार करें और यहां एक बग रिपोर्ट खोलें: http://bugzilla.xamarin.com, परीक्षण केस संलग्न करना।

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