2010-03-02 16 views
19

जावा में, वहाँ एक अर्थ (javax.activity.InvalidActivityException के रूप में) बनाम "अमान्य" (IllegalArgumentException के रूप में) "अवैध" का उपयोग कर के बीच अंतर है?जावा अपवाद नामकरण सम्मेलनों

एक काम के दौरान यह IllegalArgumentException का एक उपवर्ग इनपुट अक्षर हैं जो tokenized नहीं किया जा सकता की एक श्रृंखला का प्रतिनिधित्व करने के लिखने के लिए उपयोगी बन गया, और मैं सोच रहा हूँ कि क्या सम्मेलन InvalidTokenException या IllegalTokenException उपयोग करने के लिए कहते हैं।

एकमात्र अंतर जो मैं अब तक पा सकता हूं वह यह है कि java.lang "अवैध" पसंद करते हैं जबकि javax.* "अवैध" पसंद करते हैं। हालांकि, java.security.InvalidParameterException भी है जो IllegalArgumentException का उप-वर्ग है।

+0

@ehdv ने मेरा उत्तर बढ़ाया – stacker

उत्तर

8

आप एक API का कानूनी उपयोग कर सकते हैं और अभी भी अमान्य डेटा है; यह सभी अर्थशास्त्र है।

+2

लेकिन IllegalArgumentException अवैध API उपयोग और अमान्य डेटा दोनों को कवर करने के लिए प्रतीत होता है। – ehdv

-1

AFAIK, IllegalArgumentException केवल तब उपयोग किया जाना चाहिए जब आप एपीआई विधि कॉल के गलत उपयोग को सिग्नल करना चाहते हैं। ऐसा लगता है कि आप वर्णन कर रहे हैं वह एक परिदृश्य है जब एपीआई गलत तरीके से उपयोग किया गया है, इसलिए मुझे लगता है कि एक अवैध अर्ग्यूमेंट अपवाद बेहतर विकल्प होगा।

+0

क्या आपका मतलब "अवैध आर्ट्यूमेंट अपवाद" दूसरे के लिए 'IllegalStateException' था? यदि नहीं, तो मैं वास्तव में उलझन में हूं ... – ehdv

+1

AFAIK जो ओपी पूछ रहा है वह नहीं है। –

+0

@DR - आप सही होंगे। प्रारूपण सुधार के लिए धन्यवाद, बीटीडब्ल्यू। – ehdv

2

javax.activity.InvalidActivityExceptionjava.rmi.RemoteException से विरासत में मिला है और आप शायद इस निर्भरता को नहीं चाहते हैं। यह भी देखें Javadoc

दोनों संपादित करें अमान्य और अवैध दोनों समानार्थी रूप से उपयोग किए जाते हैं, यह उपरोक्त वर्णित तकनीकी मुद्दों, अर्थशास्त्र में कोई भिन्नता नहीं बनाता है।

संपादित करें: पोस्टग्रेर्स Documentation सेक्शन 45.3.14। टालने के लिए मुश्किल शब्द:

अवैध। "अवैध" कानून का उल्लंघन करने के लिए खड़ा है, बाकी "अवैध" है। बेहतर अभी तक, कहें कि यह क्यों अमान्य है।

+1

वह नामों के बारे में बात कर रहा है, अमान्य एक्टिविटी अपवाद को विस्तारित नहीं करता है। –

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