java - Thread.sleep() पर कॉल पर अनचाहे अपवाद के लिए मैं संकलन त्रुटि को कैसे ठीक करूं?




exception-handling checked-exceptions (2)

Thread.sleep एक इंटरप्टेड एक्सेप्शन फेंक सकता है जो एक चेक अपवाद है। सभी चेक अपवादों को या तो पकड़ा और संभाला जाना चाहिए या अन्यथा आपको यह घोषणा करनी होगी कि आपकी विधि इसे फेंक सकती है। आपको यह करने की ज़रूरत है कि अपवाद वास्तव में फेंक दिया जाएगा या नहीं। एक चेक अपवाद की घोषणा नहीं कर रहा है कि आपकी विधि फेंक सकती है एक संकलन त्रुटि है।

आपको या तो इसे पकड़ने की जरूरत है:

try {
    Thread.sleep(1000);
} catch (InterruptedException e) {
    e.printStackTrace();
    // handle the exception...        
    // For example consider calling Thread.currentThread().interrupt(); here.
}

या घोषणा करें कि आपकी विधि एक InterruptedException फेंक सकती है:

public static void main(String[]args) throws InterruptedException

सम्बंधित

मैं जावा के लिए नया हूं और प्रोग्रामिंग के लिए नया हूं (मुझे पता है कि सीधे जावा में डाइविंग शायद सबसे बड़ा विचार नहीं था।) और मुझे लगातार कोई त्रुटि मिल रही है इससे कोई फर्क नहीं पड़ता कि मैं अपने प्रोग्राम में एक विराम जोड़ने का प्रयास करता हूं। मैं एक साधारण गिनती कार्यक्रम कर रहा हूं और यहां प्रत्येक नंबर के बीच एक दूसरी देरी जोड़ना चाहता हूं, जो कोड अब तक है:

import java.lang.*;

public class Counter
{
    public static void main(String[]args)
    {
        int i;

        for (i = 0; i <= 10; i++)
        {
            Thread.sleep(1000);
            System.out.println(i);
        }
        System.out.println("You can count to ten.");
    }
}

Thread.sleep() को कॉल संकलित नहीं करेगा। javac कंपाइलर का कहना है, "अपरिवर्तित अपवाद इंटरप्टेड एक्सेप्शन; पकड़ा जाना चाहिए या फेंक दिया जाना चाहिए" और ग्रहण कहता है, "अनचाहे अपवाद प्रकार इंटरप्टेड एक्सेप्शन"


आप पहली पंक्ति से छुटकारा पा सकते हैं। आपको import java.lang.*; करने की आवश्यकता नहीं है import java.lang.*;

बस अपनी 5 वीं लाइन को यहां बदलें:

public static void main(String [] args) throws Exception




checked-exceptions