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

Java में static ब्लॉक से अपवाद कैसे फेंकें?


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

Static ब्लॉक से अपवाद फेंकना

  • एक static ब्लॉक केवल एक RunTimeException फेंक सकता है, या एक चेक्ड अपवाद को पकड़ने के लिए try और catch ब्लॉक होना चाहिए।
  • एक static ब्लॉक तब होता है जब एक क्लास को क्लास लोडर द्वारा लोड किया जाता है। कोड या तो static ब्लॉक के रूप में आ सकता है या static डेटा मेंबर को इनिशियलाइज़ करने के लिए static मेथड के कॉल के रूप में।
  • दोनों मामलों में, चेक्ड अपवादों को कंपाइलर द्वारा अनुमति नहीं दी जाती। जब एक अनचेक्ड अपवाद होता है, तो इसे ExceptionInInitializerError द्वारा रैप किया जाता है, जिसे तब उस थ्रेड के कॉन्टेक्स्ट में फेंका जाता है जिसने क्लास लोडिंग को ट्रिगर किया।
  • static ब्लॉक से चेक्ड अपवाद फेंकने का प्रयास भी संभव नहीं है। हम एक static ब्लॉक में try और catch ब्लॉक रख सकते हैं जहां try ब्लॉक से चेक्ड अपवाद फेंका जा सकता है लेकिन हमें इसे catch ब्लॉक के भीतर हल करना होगा। हम इसे throw कीवर्ड का उपयोग करके आगे प्रोपगेट नहीं कर सकते।

उदाहरण

public class StaticBlockException {
    static int i, j;
    static {
        System.out.println("In the static block");
        try {
            i = 0;
            j = 10/i;
        } catch(Exception e){
            System.out.println("Exception while initializing" + e.getMessage());
            throw new RuntimeException(e.getMessage());
        }
    }
    public static void main(String args[]) {
        StaticBlockException sbe = new StaticBlockException();
        System.out.println("In the main() method");
        System.out.println("Value of i is : "+i);
        System.out.println("Value of j is : "+ j);
    }
}

आउटपुट

In the static block
Exception while initializing/ by zero
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: / by zero
    at StaticBlockException.(StaticBlockException.java:10)

  1. जावा में JTable से चयनित पंक्ति को कैसे हटाएं? जावा में JTable से चयनित पंक्ति को कैसे हटाएं?

    JTable जटिल डेटा संरचनाओं को प्रदर्शित करने के लिए JComponent क्लास का एक सबक्लास है। एक JTable कंपोनेंट डेटा को पंक्तियों और स्तंभों में प्रदर्शित करने के लिए मॉडल व्यू कंट्रोलर (MVC) डिज़ाइन पैटर्न का पालन कर सकता है। एक JTable TableModelListener, TableColumnModelListener, ListSelectionListener,

  1. जावा में CSV फ़ाइल से डेटा कैसे पढ़ें? जावा में CSV फ़ाइल से डेटा कैसे पढ़ें?

    CSV का अर्थ कॉमा सेपरेटेड वैल्यूज़ है। CSV फ़ाइल में, प्रत्येक पंक्ति में शब्द होते हैं जो कॉमा (,) से अलग होते हैं और इसे .csv एक्सटेंशन के साथ स्टोर किया जाता है। हम BufferedReader क्लास के readLine() मेथड का उपयोग करके CSV फ़ाइल को लाइन दर लाइन पढ़ सकते हैं। प्रत्येक पंक्ति को कॉमा कैरेक्टर पर

  1. Windows 10 में वेबसाइट्स को खुलने से कैसे ब्लॉक करें Windows 10 में वेबसाइट्स को खुलने से कैसे ब्लॉक करें

    एक वेबसाइट संबंधित नेटवर्क वेब संसाधनों का एक संग्रह है जैसे वेब पेज और मल्टीमीडिया सामग्री जो आमतौर पर एक सामान्य डोमेन नाम से पहचाने जाते हैं और कम से कम एक वेब सर्वर पर प्रकाशित होते हैं। कभी-कभी, आपको कुछ वेबसाइट्स को ब्लॉक करने की आवश्यकता हो सकती है, उदाहरण के लिए, ऑफिस उपयोग के लिए कंप्यूटर क