Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

क्या कोई कंस्ट्रक्टर जावा में अपवाद फेंक सकता है?

हां, निर्माता जावा में अपवाद फेंकने की अनुमति है।

एक निर्माता एक विशेष प्रकार की विधि है जिसका उपयोग ऑब्जेक्ट को इनिशियलाइज़ करने के लिए किया जाता है और इसका उपयोग नए कीवर्ड का उपयोग करके क्लास का ऑब्जेक्ट बनाने के लिए किया जाता है। , जहां किसी वस्तु को I . के रूप में भी जाना जाता है स्थिति एक वर्ग का। किसी वर्ग के प्रत्येक ऑब्जेक्ट की अपनी स्थिति होगी (इंस्टेंस चर ) और इसके वर्ग के तरीकों तक पहुंच।

एक कंस्ट्रक्टर से एक अपवाद फेंकें

  • एक चेक किया गया अपवाद एक उदाहरण बनाने का प्रयास करते समय एक वैध समस्या को इंगित करने के लिए इस्तेमाल किया जा सकता है, जबकि एक अनचेक अपवाद आमतौर पर या तो क्लाइंट कोड में या कंस्ट्रक्टर में ही बग को इंगित करता है।
  • दोनों ही मामलों में, वस्तु को वास्तव में हीप स्पेस में आवंटित किया जाता है , लेकिन इसका संदर्भ वापस नहीं किया जाता है। ऑब्जेक्ट आंशिक रूप से आरंभिक अवस्था में रहता है जब तक कि उसे कचरा एकत्र नहीं किया जाता है। इसलिए हम यह निष्कर्ष निकालते हैं कि ऑब्जेक्ट के संदर्भ को कंस्ट्रक्टर से ही सहेजना (इस का उपयोग करके) संदर्भ) एक जोखिम भरी बात है, क्योंकि हम किसी वस्तु को अमान्य स्थिति में एक्सेस दे सकते हैं।
  • एक कंस्ट्रक्टर में अपवाद के बारे में ध्यान देने योग्य एक और महत्वपूर्ण बात प्रतिबिंब . से संबंधित है . जब हमें खाली कंस्ट्रक्टर का आह्वान करने की आवश्यकता होती है उदाहरण के लिए क्लास ऑब्जेक्ट का उपयोग करना परीक्षण , हम कभी-कभी test.newInstance() विधि का उपयोग करते हैं।
  • कन्स्ट्रक्टर द्वारा फेंके गए किसी भी अपवाद को बिना किसी बदलाव के प्रचारित किया जाता है। दूसरे शब्दों में, newInstance() विधि चेक किए गए अपवाद को फेंक सकती है कि यह घोषणा भी नहीं करता।

उदाहरण

public class ConstructorExceptionTest {
   public ConstructorExceptionTest() throws InterruptedException {
      System.out.println("Preparing an Object");
      Thread.sleep(1000);
      System.out.println("Object is ready");
   }
   public static void main(String args[]) {
      try {
         ConstructorExceptionTest test = new ConstructorExceptionTest();
      } catch (InterruptedException e) {
         System.out.println("Got interrupted...");
      }
   }
}

आउटपुट

Preparing an Object
Object is ready

  1. जावा में स्थिर ब्लॉक से अपवाद कैसे फेंकें?

    एक स्थिर अवरोध बयानों का एक सेट है, जिसे मुख्य () विधि के निष्पादन से पहले JVM द्वारा निष्पादित किया जाएगा। कक्षा लोड करते समय यदि हम कोई गतिविधि करना चाहते हैं तो हमें उस गतिविधि को स्थिर ब्लॉक के अंदर परिभाषित करना होगा क्योंकि यह ब्लॉक क्लास लोड होने के समय . पर निष्पादित होता है । एक स्टेटिक ब्

  1. क्या हम जावा में एक अमूर्त वर्ग का ऑब्जेक्ट बना सकते हैं?

    नहीं, हम एक अमूर्त वर्ग की वस्तु नहीं बना सकते। लेकिन हम एक अमूर्त वर्ग का संदर्भ चर बना सकते हैं। संदर्भ चर का उपयोग व्युत्पन्न वर्गों (सार वर्ग के उपवर्ग) की वस्तुओं को संदर्भित करने के लिए किया जाता है। एक अमूर्त वर्ग का अर्थ है कार्यान्वयन को छिपाना और उपयोगकर्ता को फ़ंक्शन परिभाषा दिखाना सार व

  1. हम जावा में एक कस्टम अपवाद कैसे बना सकते हैं?

    कभी-कभी एप्लिकेशन आवश्यकताओं के आधार पर सार्थक अपवाद विकसित करने की आवश्यकता होती है। हम जावा में अपवाद वर्ग का विस्तार करके अपने स्वयं के अपवाद बना सकते हैं जावा में उपयोगकर्ता-परिभाषित अपवादों को कस्टम अपवाद के रूप में भी जाना जाता है। उदाहरण के साथ कस्टम अपवाद बनाने के चरण कस्टम एक्सेप्शन क्लास