मेरे पास ट्राई कैच कोड का एक टुकड़ा है:
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
इस कोड के टुकड़े के लिए, मैं एक डेटाबेस में रिकॉर्ड डालने की कोशिश कर रहा हूँ: dba ने इसे सेट किया है ताकि डेटाबेस डुप्लिकेट की जाँच करे और डुप्लिकेट होने पर एक त्रुटि लौटाए। वर्तमान में, जैसा कि आप देख सकते हैं, मैं मॉडल में एक ही त्रुटि जोड़ रहा हूं चाहे कोई भी त्रुटि हुई हो। मैं चाहता हूं कि यह परिवर्तित हो जाए, इसलिए यह त्रुटि केवल उस मॉडल में जोड़ी गई है यदि यह dba द्वारा स्थापित डुप्लिकेट त्रुटि के कारण हुई थी।
नीचे त्रुटि है जिसे मैं पकड़ना चाहता हूं। ध्यान दें कि यह आंतरिक अपवाद में है। क्या कोई मुझे बता सकता है कि इसे विशेष रूप से कैसे पकड़ा जाए?
Exception
सबसे अच्छा अभ्यास नहीं है। आप जितना संभव हो उतना विशिष्ट होना चाहिए और कुछ भी आप उपयोगकर्ता / ढांचे को बुलबुला संभाल नहीं सकते हैं।