2008-10-23 11 views
6

मैं वर्तमान में एक सर्वर लिख रहा हूं जो कई मॉड्यूल होस्ट करता है। सर्वर प्रत्येक मॉड्यूल को एक अलग ऐपडोमेन में चलाता है। जो मैं प्राप्त करना चाहता हूं वह अपवाद अलगाव है, यानी जब एक मॉड्यूल अपवाद फेंकता है, तो मैं पूरी प्रक्रिया को समाप्त नहीं करना चाहता, केवल यह विशिष्ट ऐपडोमेन। मुझे पता है कि मैं सीएलआर को पुराने व्यवहार (.NET 1.0) पर फॉलबैक करने के लिए कह सकता हूं जब विभिन्न धागे में सभी बेजोड़ अपवाद निगल गए थे। हालांकि, यह सबसे 'सुरुचिपूर्ण' समाधान नहीं है।सी # कंसोल एप्लिकेशन में बेजोड़ अपवादों को संभालना

उत्तर

7

कैसे इस घटना के लिए सदस्यता लेने के बारे:

AppDomain.CurrentDomain.UnhandledException 

आप अपवाद के प्रकार वस्तु से ExceptionObject संपत्ति कास्ट करने के लिए होगा।

उम्मीद है कि मदद करता है।

+0

दुर्भाग्य से यह अपवाद हैंडलर नहीं है, बल्कि यह आपको केवल अनचाहे अपवाद के बारे में सूचित करता है। सभी एप्लिकेशन में अभी भी क्रैश हो जाएगा :( – paszczi

+0

जब एक अनचाहे अपवाद होता है, तकनीकी रूप से, एप्लिकेशन पहले ही क्रैश हो चुका है। इससे आपको कोई कार्रवाई करने और एप्लिकेशन को डीबग करने या उपयोगकर्ता को सूचित करने की अनुमति मिलती है। –

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