एक IllegalStateException एक अनियंत्रित . है अपवाद जावा में। यह अपवाद हमारे जावा प्रोग्राम में तब उत्पन्न हो सकता है जब हम java.util.package के संग्रह ढांचे के साथ काम कर रहे हों। . कई संग्रह हैं जैसे सूची, कतार, पेड़, मानचित्र जिसमें से सूची और कतार (कतार और डेक) इस IllegalStateException . को फेंकने के लिए विशेष परिस्थितियों में।
IllegalStateException कब फेंका जाएगा
- एक अवैध राज्य अपवाद फेंक दिया जाएगा, जब हम अनुपयुक्त समय पर किसी विशेष विधि को लागू करने का प्रयास करते हैं।
- java.util.List के मामले में संग्रह, हम उपयोग करते हैं अगला() सूची . की विधि इटरेटर java.util.List. . के माध्यम से पार करने के लिए इंटरफ़ेस अगर हम निकालें () . को कॉल करते हैं ListIterator . की विधि अगला() . को कॉल करने से पहले इंटरफ़ेस विधि तो इस अपवाद को फेंक दिया जाएगा क्योंकि यह सूची . छोड़ देगा एक अस्थिर . में संग्रह राज्य ।
- यदि हम किसी विशेष वस्तु को संशोधित करना चाहते हैं तो हम सेट() . का उपयोग करेंगे ListIterator . की विधि इंटरफ़ेस
- कतार के मामले में , यदि हम किसी तत्व को कतार . में जोड़ने का प्रयास करते हैं , तो हमें यह सुनिश्चित करना चाहिए कि कतार भरी नहीं है। यदि यह कतार भरी हुई है तो हम उस तत्व को नहीं जोड़ सकते हैं, तो यह एक IllegalStateExceptionException का कारण बनेगा। फेंकने के लिए।
उदाहरण
import java.util.*; public class IllegalStateExceptionTest { public static void main(String args[]) { List list = new LinkedList(); list.add("Welcome"); list.add("to"); list.add("Tutorials"); list.add("Point"); ListIterator lIterator = list.listIterator(); lIterator.next(); lIterator.remove();// modifying the list lIterator.set("Tutorix"); System.out.println(list); } }
आउटपुट
Exception in thread "main" java.lang.IllegalStateException at java.util.LinkedList$ListItr.set(LinkedList.java:937) at IllegalStateExceptionTest.main(IllegalStateExceptionTest.java:15)पर