2011-01-28 23 views
14

मुझे जंगली में एक बुरा बग दिखा रहा है, और मैं अपनी अंगुली को उस पर नहीं डाल सकता। क्या ग्लोबल ट्राई/कैच ब्लॉक, या मोनोटच में बिना किसी अपवाद को संभालने का कोई तरीका है।मोनोटच ग्लोबल अपवाद हैंडलिंग

क्या मैं सिर्फ कोशिश करने में UIApplication.Main(args) लपेट सकता हूं?

अपवाद पकड़े जाने के बाद, आईडी परिणाम प्रदर्शित करने के लिए UIAlertView दिखाना पसंद है।

कोई मदद?

+0

यह सुनिश्चित नहीं है कि यह मोनोटच में है, लेकिन विंडोज़ पर आप http://msdn.microsoft.com/en-us/library/system.windows.application.unhandledexception(v=vs.95).aspx का उपयोग करेंगे – Nate

उत्तर

14

आप UIAplplication.Main (args) को किसी प्रयास में {} पकड़ {} में लपेट सकते हैं लेकिन आप उस बिंदु पर UIAlertView नहीं दिखा पाएंगे, क्योंकि हमने सभी UI सहित संपूर्ण स्टैक को अनदेखा कर दिया है। आप क्या कर सकते हैं अपने एप्लिकेशन बंडल के दस्तावेज़ फ़ोल्डर में क्रैश फ़ाइल के अपवाद को लॉग ऑन करें, और दिखाएं कि अगले लॉन्च पर या इसे किसी वेब सेवा पर अपलोड करें।

Exceptioneer लोग मोनो टच समर्थन पर भी काम कर रहे थे, जो कि देखने योग्य हो सकता है।

+0

हे जियोफ़, नीचे दिए गए मेरे उत्तर में आपके लिए एक प्रश्न देखें ... – Ethan

+1

अगर बाहर निकलने वाला व्यक्ति छोड़ दिया गया है या नहीं ... – tomfanning

+2

ऐसा लगता है। बुरा समय। – tomfanning

1

मुझे अनचाहे अपवाद हैंडलर, यानी AppDomain.CurrentDomain.UnhandledException ईवेंट का उपयोग करने में सफलता मिली है। ऐसा लगता है कि कई (लेकिन सभी नहीं) अनचाहे अपवादों को पकड़ते हैं। ऐसा लगता है कि अप्रबंधित कोड में होने वाली क्रैश इस घटना को कॉल किए बिना ऐप को विफल कर सकती हैं।

जेफ: UIApplication.Main से बाहर आने वाले अपवादों को पकड़ने के अलावा इस घटना को कैप्चर करना होगा या तरीकों में से एक को प्राथमिकता दी जाएगी?

+0

यह वास्तव में कोई फर्क नहीं पड़ता है, लेकिन देशी कोड में हाँ दुर्घटनाएं आपको फाड़ देगी। ऐप मूल रूप से उस बिंदु पर भ्रष्ट है और उस सुंदरता को संभालने के लिए हम कुछ भी नहीं कर सकते हैं। मोनोचच समुदाय के सदस्यों में से एक ने रिलीज में डुप् 2 (3) का उपयोग करके एक फ़ाइल में stdout और stderr को रीडायरेक्ट करने के साथ प्रयोग किया, ताकि वह अगले रन पर क्रैशलॉग अपलोड कर सके, जो कुछ किया जा सकता है। –

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