2008-09-17 14 views
52

क्या ELMAH लॉग इन अपवाद भी हैं जब वे एप्लिकेशन पर बबल नहीं करते हैं? जब कोई अपवाद होता है तो मैं एक संदेश पॉप अप करना चाहता हूं और अभी भी अपवाद लॉग करता हूं। वर्तमान में मैं सबकुछ पकड़ने वाले ब्लॉक और संदेशों को थूकने में सब कुछ डाल रहा हूं, लेकिन यह थकाऊ हो जाता है।क्या एल्माह हैंडल अपवादों को पकड़ा गया है

उत्तर

127

ELMAH को Signaling नामक एक नई सुविधा का समर्थन करने के लिए अद्यतन किया गया है।

यह आपको अपवादों को संभालने की अनुमति देता है, जबकि आप उन्हें अभी भी ELMAH पर लॉग इन करते हैं।

try 
{ 
    int i = 5; 
    int j = 0; 
    i = i/j; //Throws exception 
} 
catch (Exception ex) 
{ 
    MyPersonalHandlingCode(ex); 
    ErrorSignal.FromCurrentContext().Raise(ex); //ELMAH Signaling 
} 

पुन: फेंकना अपवाद खराब अभ्यास हो सकता है क्योंकि यह किसी एप्लिकेशन के प्रवाह का पता लगाना मुश्किल बनाता है। अगर आप कुछ फैशन में त्रुटि को संभालने का इरादा रखते हैं और बस इसे दस्तावेज करना चाहते हैं तो सिग्नलिंग का उपयोग करना एक बेहतर तरीका है।

कृपया द्वारा DotNetSlackers on ELMAH

+8

क्या किसी प्रकार की विशेषता/फ़िल्टर का उपयोग करना संभव है? प्रत्येक पकड़ के अंदर उस कोड को रखने के लिए, मुझे लगता है कि यह बहुत अच्छा होगा, ऐसा करने के लिए ऐसा अच्छा होगा जो ऐसा करेगा। – Kuncevic

+0

विडंबना यह है कि dognetslackers लिंक एक अनचाहे त्रुटि पृष्ठ की ओर जाता है। यह एक ट्रोल होना चाहिए? – niico

+0

मेरा दिन बचाया .. – NMathur

6

इस उत्कृष्ट गाइड बाहर की जाँच एक फिल्टर स्पष्ट तरीका इस समस्या को संभालने के लिए है। इस समाधान को यहां देखें https://stackoverflow.com/a/5936867/965935

+2

जहां तक ​​मैं एक फ़िल्टर को समझता हूं, एक प्रयास को पकड़ने के लिए पहले से ही एक अपवाद पकड़ने में सक्षम नहीं होगा। इस उत्तर को यहां देखें [लिंक] (http://stackoverflow.com/a/21864117/694457)। – frezq

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