मैं लाइब्रेरी का उपयोग कर लोगों द्वारा डीबगिंग में सुधार करने में सहायता के लिए अपवाद फेंकने के लिए मौजूदा लाइब्रेरी अपडेट कर रहा हूं।जावा, कक्षा-विशिष्ट अपवाद बनाम मानक अपवाद
पहले, मैंने सोचा कि मैं प्रत्येक वर्ग के लिए विशिष्ट अपवादों को परिभाषित करता हूं, हालांकि यह पता चलता है कि इनमें से अधिकतर अपवाद मौजूदा संदेशों के साथ मौजूदा रनटाइम अपवादों (उदाहरण के लिए, FooNegativeIntArgumentException extends IllegalArgumentException
, FooNullBarException extends NullPointerException
) के एक्सटेंशन हैं।
मौजूदा अपवादों का उपयोग कर नए अपवादों को परिभाषित करने के व्यापार-बंद क्या हैं? क्या कोई सम्मेलन/सर्वोत्तम प्रथाएं हैं?
इसके अलावा, पिछली संगतता की आवश्यकता को देखते हुए, इन अपवादों के अधिकांश (यदि नहीं सभी) रनटाइम अपवाद हैं।
उन उत्तरों के लिए धन्यवाद जो विवरण प्रदान करते हैं कि सामान्य रूप से कस्टम अपवादों का उपयोग क्यों न करें, साथ ही उन मामलों के लिए जो वे वास्तव में उपयोगी हैं। – Carl