2010-03-11 13 views
5

डीबग करें मुझे लगता है कि त्रुटि प्रबंधन एक अच्छा विचार है। :) जब इसे डिबगिंग किया जा सकता है - विशेष रूप से अच्छे उपयोगकर्ता के अनुकूल संदेशों के साथ। वीबी 6 में मैं संकलक के लिए अपने त्रुटि प्रबंधन को अनदेखा करने के लिए बस एक बॉक्स देख सकता था। मैं found वह संवाद जो मुझे वीएस में कुछ ऐसा करने की अनुमति देता है, लेकिन यह एक के बजाय लगभग 10,000 चेक बॉक्स है - जो हर बार जब मैं उत्पादन संकलन चाहता हूं तो बदलने के लिए बहुत अधिक होता है।विजुअल स्टूडियो अनदेखा करने की कोशिश करें - केवल

क्या वीएस सेट अप करने का कोई तरीका है, इसलिए जब मैं डिबगिंग मोड में हूं तो मुझे शर्तों का एक सेट मिलता है और जब मैं उत्पादन में हूं तो मुझे दूसरा मिलता है? ... या त्रुटियों को संभालने और अधिक कुशलतापूर्वक डीबग करने के लिए बस एक और तरीका है?

धन्यवाद

+0

डुप्: http://stackoverflow.com/questions/893277/is-there-a-better-way-to-get-visual-studio-to-ignore-try-catch-in-debug-mode –

उत्तर

1

आप अपने तरीकों से इस विशेषता को जोड़ सकते हैं:

[Conditional("DEBUG")] 

तुम भी बयान #endif #if उपयोग कर सकते हैं यदि आप चाहें तो।

+1

यह है * बहुत * बदसूरत कोड के लिए बनाने जा रहा है; VS.Net में इसे संभालने के बेहतर तरीके हैं। –

+0

+1 मैं सहमत हूं कि #if बदसूरत कोड बनाता है, विशेषता विधि मुझे नहीं लगता कि यह करता है, हालांकि यह सीमित है। –

3

डीबग मेनू आज़माएं और अपवाद देखें। अपवाद फेंकने पर आप इसे स्वचालित रूप से तोड़ने के लिए सेट कर सकते हैं।

#if !DEBUG 
    try { 
#endif 
     DoSomething(); 
#if !DEBUG 
    } catch (Exception ex) { 
     LogEx(ex); 
     throw new FriendlyException(ex); 
    } 
#endif 

या:

2

कोड में, मैं शायद वैसे ही जैसे कुछ करना चाहते हैं। अधिक आम तौर पर और कम #if साथ:

#if DEBUG 
    public const bool DEBUG = true; 
#else 
    public const bool DEBUG = false; 
#endif 

try { 
    DoSomething(); 
} catch (Exception ex) { 
    if (DEBUG) throw; 
    LogEx(ex); 
    throw new FriendlyException(ex); 
} 

या, सामान्य प्रयोजन (अपवाद पी & पी से पुस्तकालय हैंडलिंग की तरह):

bool HandleException(Exception ex) { 
    return !DEBUG; 
} 

लेकिन, अपनी वास्तविक समस्या सिर्फ दृश्य स्टूडियो जीयूआई है यदि - just use a macro

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