मेरे पास एक साधारण WinForms ऐप है जिसका परीक्षण परीक्षण मामलों में प्रवेश करने के लिए किया जाता है। जब से मैंने इस एप्लिकेशन को .NET 4.0 में अपग्रेड किया है और XSD स्कीमा के विरुद्ध एक्सएमएल को मान्य करने के लिए टैब पेज नियंत्रण में एक नया टैब पेज जोड़ा है, तो एप्लिकेशन यादृच्छिक रूप से क्रैश हो रहा है। मैं अपवाद को पुन: पेश करने में असमर्थ रहा हूं।Winforms अनुप्रयोग में अनचाहे अपवाद
TestCaseViewer कोई समस्या हुई है और उसे बंद होना होगा:
त्रुटि मेरी क्यूए पुरुष प्राप्त करता जेनेरिक Windows संदेश है। असुविधा के लिए खेद है।
वास्तविक त्रुटि मैं इस कार्यक्रम के मुख्य विधि की शुरुआत करने के लिए निम्न कोड जोड़ दिया है करने के लिए प्राप्त करने की कोशिश करने के लिए:
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Application.ThreadException += Application_ThreadException;
ईवेंट हैंडलर्स इस तरह दिखेगा:
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
try
{
MessageBox.Show(e.Exception.ToString(), @"Thread Exception",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
Application.Exit();
}
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
try
{
var ex = (Exception)e.ExceptionObject;
MessageBox.Show(ex.ToString(), @"Unhandled Exception",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
Application.Exit();
}
}
दुर्भाग्यवश इससे मदद नहीं मिली है और जो कुछ भी हो रहा है, वह इस तरह से ऐसा जारी रखता है जो ओएस तक बुलबुला हुआ अनचाहे त्रुटि उत्पन्न करता है।
क्या कोई मुझे इस अपवाद को फँसाने के बारे में कोई अन्य विचार दे सकता है?
स्टैकट्रेस में निम्नलिखित को जोड़? ** MessageBox.Show (e.Stacktrace); ** –
जब तक स्टैक ट्रेस शून्य नहीं होता है तब तक इसे वापस कर दिया जाएगा जब अपस्टेशन पर ToString() को कॉल किया जाता है। – Loathian