2012-10-18 13 views
17

मैं अनचाहे अपवाद होने पर डेटा भेजने के लिए ACRA (एंड्रॉइड के लिए एप्लिकेशन क्रैश रिपोर्ट) का उपयोग कर रहा हूं।एंड्रॉइड एसीआरए हैंडल अपवादों के साथ

openFileOutput() जैसे तरीके IOExceptions को आजमाने और पकड़ने की आवश्यकता है। चूंकि अपवाद एक कोशिश पकड़ ब्लॉक में है, इसलिए एआरसीए ट्रिगर नहीं किया गया है। हालांकि मैं अभी भी स्टैकट्रैक प्राप्त करना और देखना चाहता हूं। क्या इसे हासिल करने के कोई तरीके हैं?

उत्तर

27

यदि IOException इत्यादि को संभालना इत्यादि वास्तव में समझ में नहीं आता है (यानी, वास्तव में आप इसके बारे में कुछ नहीं कर सकते हैं), इसे RuntimeException में लपेटें और इसे फेंक दें। एसीआरए पकड़ लेगा और इसकी रिपोर्ट करेगा। आप अनुप्रयोग के क्रैश होने का नहीं करना चाहते हैं, को पकड़ने और संभाल यह, तो handleException() का उपयोग एक रिपोर्ट भेजने के लिए मैन्युअल रूप से:

ACRA.getErrorReporter().handleException(caughtException); 

अधिक जानकारी here

+0

डुप्लिकेट अपवाद भेजने से प्रतिबंधित ACRA के लिए किसी भी विकल्प है? (डुप्लिकेट अपवाद का मतलब विशिष्ट डिवाइस से डुप्लिकेट अपवाद है) –

+2

सर्वर पर डुप्लिकेट अपवाद। आप अब तक भेजे गए * सभी * अपवादों के डेटाबेस को बनाए रखने के बिना, क्लाइंट पक्ष पर उचित रूप से ऐसा नहीं कर सकते हैं। –

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