उपयोगकर्ता नियंत्रण में एक अप्रत्याशित अपवाद को कैसे संभालें

मान लें कि एक डब्ल्यूपीएफ ऐप अनिवार्य रूप से एक समृद्ध उपयोगकर्ता नियंत्रण के साथ कई टैबिटम्स के होते हैं। सभी उपयोगकर्ता नियंत्रण एक ही यूआई थ्रेड में हैं और एक अप्रत्याशित और अनचाहे त्रुटि ऐप को क्रैश कर देगी।

क्या इससे बचने के लिए कोई रास्ता है और उस विशेष उपयोगकर्ता नियंत्रण में दुर्घटना को सीमित कर दिया गया है जहां यह हुआ? और उपयोगकर्ता अन्य टैब पर जारी रख सकता है।

एक तरीका एक टैबलेट के बजाय एक अलग थ्रेड पर एक अलग विंडो का उपयोग करना होगा।

0
पृष्ठ को अक्षम करने वाले पृष्ठ पर प्रत्येक टैब में एक त्रुटि हैंडलर का एक पृष्ठ आज़माएं। ऐप को क्रैश कर रहे एक अनचाहे अपवाद का एक उदाहरण दें।
जोड़ा लेखक paparazzo, स्रोत
क्या ये आपके उपयोगकर्ता नियंत्रण हैं? क्या आप नई अपवाद फेंक रहे हैं? मैं एक "विचार" की तुलना में एक कोड नमूना की तलाश में अधिक चाहता हूं।
जोड़ा लेखक paparazzo, स्रोत
@ ब्लाम: एक उदाहरण के रूप में कृपया बटन क्लिक करने के बाद बस नया अपवाद() फेंक दें (पकड़ के बिना, यह अप्रत्याशित होना चाहिए)। पेज सामान्य रूप से कैसे पकड़ सकता है?
जोड़ा लेखक Gerard, स्रोत
यूआई को कई धागे में अलग नहीं किया जा सकता है। प्रासंगिक कोड और एक्सएएमएल पोस्ट करें जहां यह हो रहा है। और नहीं, यूआई को आपके आवेदन को सामान्य परिस्थितियों में क्रैश नहीं करना चाहिए।
जोड़ा लेखक Federico Berasategui, स्रोत

1 उत्तर

आप को संभाल सकते हैं। AppDomain.UnhandledException event , हालांकि आमतौर पर इस चरण में, कुछ गलत तरीके से गलत हो गया है और यह घटना सामान्य रूप से त्रुटि विवरण लॉग करने और/या प्रोग्राम को गर्वपूर्वक बंद करने के लिए संभाली जाती है:

AppDomain.CurrentDomain.UnhandledException += MainWindow_UnhandledException;

...

public void MainWindow_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
   //An unhandled Exception has been thrown
}

यह सभी अपवाद एस को पकड़ लेगा जिसे आपने मैन्युअल रूप से संभाला नहीं है। हालांकि, StackTrace के अलावा अक्सर अपवाद फेंक दिया गया था, इसके अलावा केवल न्यूनतम जानकारी होती है। इसे जाने दो और देखें कि यह आपकी मदद करता है या नहीं।

1
जोड़ा
मुझे खेद है, यह मदद नहीं करता है, मैं केवल एक विशिष्ट उपयोगकर्ता नियंत्रण के लिए UnhandledException को संभालने की तलाश में था, जो संभव नहीं है।
जोड़ा लेखक Gerard, स्रोत