हाय क्या कोई मुझे बता सकता है कि सी # में उपयोगकर्ता परिभाषित अपवाद कैसे लिखना है? जैसा कि हमारे पास जावा में है, क्या हम सी # में लिख सकते हैं?सी # में उपयोगकर्ता परिभाषित अपवाद कैसे लिखें?
5
A
उत्तर
11
यह व्यावहारिक रूप से जावा में जैसा ही है - आप Exception
कक्षा का विस्तार करते हैं।
सबसे बुनियादी रूप में।
public class CustomException : System.Exception
{
public CustomException()
{
}
public CustomException(string message)
: base(message)
{
}
public CustomException(string message, System.Exception innerException)
: base(message, innerException)
{
}
}
इसके लिए, फिर उस डेटा को जोड़ें जिसे आप फ़ील्ड या गुणों का उपयोग करके कैप्चर करना चाहते हैं।
इस प्रश्न का उत्तर देने से पहले, मैंने कस्टम अपवादों पर माइक्रोसॉफ्ट डिजाइन गिल्डलाइन की जांच की। Designing Custom Exceptions (एमएसडीएन)
- गहरे नामस्थान पदानुक्रम से बचें।
- यदि संभव हो, तो प्रदान किए गए सामान्य आधार अपवादों से प्राप्त करें, यानी
ArgumentException
। हाउवरApplicationException
से प्राप्त न करें। यह हानिकारक नहीं है, ऐसा करने में कोई बात नहीं है। MSDN Blog Post on ApplicationException। - "अपवाद" प्रत्यय का उपयोग करें।
ISerializable
इंटरफ़ेस को कार्यान्वित करके अपवादों को क्रमबद्ध करें। स्पष्ट रूप से एक अपवाद आवेदन डोमेन भर में सही ढंग से काम करने और सीमाओं को रिमोट करने के लिए serializable होना चाहिए।- एक निजी अपवाद स्थिति में सुरक्षा-संवेदनशील जानकारी स्टोर करें, यह सुनिश्चित करने के लिए केवल सुरक्षा कोड प्राप्त करने के लिए सुरक्षा सुरक्षा विशेषता जोड़ें।
मैं अत्यधिक MSDN पर Design Guidelines पढ़ने की सलाह।
16
आप System.Exception
से उत्तराधिकारी बनना चाहते हैं और प्राथमिक रूप से एक ही सार्वजनिक रचनाकार (न्यूनतम) प्रदान करते हैं और आधार रचनाकारों को पैरामीटर पास करते हैं। प्रासंगिक गुणों और/या विधियों को जोड़ें जिन्हें आप अपनी विशेष आवश्यकता के लिए उपयुक्त मानते हैं।
public class MyException : System.Exception
{
public MyException() : base() { }
public MyException(string message) : base(message) { }
public MyException(string message, Exception innerException) : base(message, innerException) { }
}
संबंधित मुद्दे
- 1. परिभाषित उपयोगकर्ता परिभाषित मार्गदर्शिका
- 2. सी # में मैं अपने स्वयं के अपवाद कैसे परिभाषित करूं?
- 3. अपवाद कैसे प्राप्त करें सी # में अपना संदेश परिभाषित करें?
- 4. सी ++: कॉन्स्ट_इटरेटर कैसे लिखें?
- 5. उपयोगकर्ता द्वारा परिभाषित प्रकार
- 6. सी में फ़ाइल में स्ट्रिंग कैसे लिखें?
- 7. सी ++ में खोल एक्सटेंशन कैसे लिखें?
- 8. कैसे mysql उपयोगकर्ता परिभाषित समारोह
- 9. उपयोगकर्ता परिभाषित कक्षा सीरियलाइजेशन, सी ++ और msgpack
- 10. सी ++ 0x, उपयोगकर्ता ऑपरेटर के साथ उपयोगकर्ता परिभाषित अक्षर "" (0
- 11. उपयोगकर्ता परिभाषित TYPE डेटाबेस में
- 12. सी ++ में आधुनिक विंडोज सॉफ्टवेयर कैसे लिखें?
- 13. सी ++ में पोर्टेबल कोड कैसे लिखें?
- 14. सी ++ में 3 डी मैपिंग कैसे लिखें?
- 15. सी में हैश फ़ंक्शन कैसे लिखें?
- 16. सी # में आरईएसटी एपीआई रैपर कैसे लिखें?
- 17. एएनएसआई सी में प्रलेखन टिप्पणियां कैसे लिखें?
- 18. सी ++ में एक साधारण कक्षा कैसे लिखें?
- 19. सादा सी में यूनिट परीक्षण कैसे लिखें?
- 20. उपयोगकर्ता परिभाषित कार्यों में त्रुटि प्रबंधन
- 21. उपयोगकर्ता परिभाषित निर्देशिका
- 22. ज: उपयोगकर्ता परिभाषित वस्तु
- 23. उपयोगकर्ता द्वारा परिभाषित स्कीमा
- 24. उपयोगकर्ता द्वारा परिभाषित समानता
- 25. उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन
- 26. उपयोगकर्ता परिभाषित सीएमपी फ़ंक्शंस
- 27. सी # टीबीबी (सी # कोड खंड) में उपयोगकर्ता परिभाषित तरीकों को कैसे जोड़ें?
- 28. .NET में SQL उपयोगकर्ता परिभाषित फ़ंक्शंस का उपयोग कैसे करें?
- 29. उपयोगकर्ता परिभाषित डेटाटाइप को एक शब्दकोश में
- 30. उद्देश्य-सी ब्लॉक इनलाइन कैसे लिखें?
.NET फ्रेमवर्क डिज़ाइन दिशानिर्देशों के मुताबिक, आपको अपवाद से सीधे उत्तराधिकारी होना चाहिए जबतक कि आपके पास कुछ और लेने का कोई अच्छा कारण न हो। –
@ जोनाथन: सभी सिस्टम सामान्य पर वापस आते हैं। मेरे बेवकूफ उत्तर हटा दिया और मेरी बेकार टिप्पणी हटा दी। एसओ भावना के नाम पर जवाब ऊपर उठाया। सुधार के लिए धन्यवाद। –