2011-08-13 21 views
15

जब मैं अपना अपवाद बनाता हूं, तो क्या उन्हें चेक/अनचेक के रूप में चिह्नित करना संभव है? (कुछ एनोटेशन का उपयोग कर, हो सकता है?) या, अपवाद/रनटाइम अपवाद को करने का एकमात्र तरीका विस्तार कर रहा है?जावा में चेक/अनचेक किए गए कस्टम अपवाद कैसे बनाएं?

धन्यवाद।

+0

:

class NotEnoughBalance extends Exception { // Implementation } 

अनियंत्रित अपवाद

RuntimeException विस्तार करके, आप अनियंत्रित अपवाद बना सकते हैं आप एक विकल्प के रूप में क्या सुझाव देंगे ? –

उत्तर

23

ऐसा करने का एकमात्र तरीका अपवादित अपवाद के लिए अपवाद (या इसके उप-वर्ग) को विस्तारित करना और अनचाहे अपवाद के लिए रनटाइम अपवाद (या इसके उप-वर्ग) को विस्तारित करना है।

यह देखते हुए कि यह कितना हल्का है, और उन वर्गों को विस्तारित करने से आपको मिलने वाले लाभ, मुझे नहीं लगता कि यह बहुत कठिन है।

1

चेक किए गए अपवाद

Exception विस्तार करके, आप एक जाँच अपवाद बना सकते हैं:

class NotEnoughBalance extends RuntimeException { 
    // Implementation 
} 
+8

यह सही नहीं है। चेक अपवाद बनाने के लिए आपको 'IOException' को बढ़ाने की आवश्यकता नहीं है। जावा में _Every_ अपवाद एक चेक अपवाद _unless_ है जो 'RuntimeException' को बढ़ाता है। –

+1

गलती को इंगित करने के लिए धन्यवाद :) –

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