यह मेरे लिए IllegalStateException
जैसा दिखता है।
सिग्नल कि एक विधि अवैध या अनुचित समय पर लागू की गई है।
मूल रूप से आपकी वस्तु run
के लिए वैध स्थिति में नहीं है।
मैं इसके लिए अपना अपवाद नहीं बनाऊंगा जबतक कि आप जानबूझकर कहीं और पकड़े जाने की अपेक्षा न करें। यह लगता है ऐसा ही एक अप्रत्याशित स्थिति की बजाय प्रोग्रामिंग त्रुटि के कारण होता है ... इस स्थिति में एक अनचेक अपवाद उचित है, और IllegalStateException
समस्या की सामान्य प्रकृति का स्पष्ट रूप से वर्णन करता है।
आप अपवाद के संदेश के भीतर एक विस्तृत कारण डाल सकते हैं (समझाते हुए कि "अवैध स्थिति" यह थी कि सूची खाली थी)।
मेरा सुझाव है कि आप गलत हो सकते हैं कि हर छोटी चीज के लिए एक अलग अपवाद प्रकार बनाने से बचने का प्रयास करें - जब तक कि आप इन अपवादों को अलग से पकड़ नहीं लेते हैं, अलग-अलग प्रकार की मदद नहीं होती है; यह केवल अव्यवस्था में जोड़ता है। एक अपवाद जो सही व्यापक प्रकार का है लेकिन एक उपयोगी संदेश है, उतना ही अधिक संज्ञानात्मक उपरि के बिना उतना ही लाभ प्रदान करता है।
ध्यान दें कि आप एक जाँच अपवाद अगर आप Runnable.run
वैसे भी लागू कर रहे हैं, के रूप में है कि किसी भी अपवाद जाँच फेंकने के लिए घोषित नहीं किया गया है का उपयोग नहीं कर सकते हैं। आपको इसे एक अनचेक अपवाद (जैसे RuntimeException
) में लपेटना होगा, जिस बिंदु पर कम लाभ भी है।
स्रोत
2012-06-26 05:55:20
धन्यवाद जॉन ... !! हाँ आप सही हैं मैं Runnable.run() में चेक किए गए उत्साह का उपयोग नहीं कर सकता। तो मैं IllegalStateException – Beginner
'का उपयोग कर रहा हूं, अगर (अनुबंध FileList.isEmpty()) { नया IllegalStateExcpetion ("contractFileList खाली है") फेंक दें; – Beginner
आशा है कि यह सही है .. कृपया टिप्पणी – Beginner