IllegalStateException เป็น ไม่ถูกตรวจสอบ ข้อยกเว้น ในชวา ข้อยกเว้นนี้อาจเกิดขึ้นในโปรแกรมจาวาของเราเป็นส่วนใหญ่ หากเรากำลังจัดการกับเฟรมเวิร์กการรวบรวมของ java.util.package . มีคอลเลกชั่นมากมาย เช่น List, Queue, Tree, แผนที่ ซึ่ง รายการ และ คิว (คิวและ Deque) เพื่อส่ง IllegalStateException . นี้ ตามเงื่อนไขที่กำหนด
เมื่อใดที่ IllegalStateException จะถูกส่งออกไป
- A IllegalStateExceptionexception จะถูกโยนทิ้งเมื่อเราพยายามเรียกใช้วิธีการเฉพาะในเวลาที่ไม่เหมาะสม
- ในกรณีของ java.util.List เราใช้ next() วิธีการของ รายการ ตัววนซ้ำ อินเทอร์เฟซเพื่อสำรวจผ่าน java.util.List. ถ้าเราเรียก remove() วิธีการของ ListIterator อินเทอร์เฟซก่อนเรียก next() เมธอด ข้อยกเว้นนี้จะถูกส่งออกไปเนื่องจากจะออกจาก List คอลเลกชันใน ไม่เสถียร สถานะ .
- หากเราต้องการแก้ไขวัตถุเฉพาะ เราจะใช้ set() วิธีการของ ListIterator อินเทอร์เฟซ
- ในกรณีของ คิว หากเราพยายามเพิ่มองค์ประกอบใน คิว แล้วเราต้องแน่ใจว่าคิวไม่เต็ม หากคิวนี้เต็ม เราไม่สามารถเพิ่มองค์ประกอบนั้นได้ ก็จะทำให้เกิด IllegalStateExceptionexception ที่จะถูกโยนทิ้ง
ตัวอย่าง
<ก่อน>นำเข้า java.util.*; คลาสสาธารณะ IllegalStateExceptionTest { โมฆะคงที่สาธารณะหลัก (สตริง args []) { รายการรายการ =ใหม่ LinkedList (); list.add("ยินดีต้อนรับ"); list.add("ถึง"); list.add("บทเรียน"); list.add("คะแนน"); ListIterator lIterator =list.listIterator (); รายการ lIterator.next(); lIterator.remove();// แก้ไขรายการ lIterator.set("Tutorix"); System.out.println(รายการ); }}ผลลัพธ์
ข้อยกเว้นในเธรด "main" java.lang.IllegalStateException ที่ java.util.LinkedList$ListItr.set(LinkedList.java:937) ที่ IllegalStateExceptionTest.main (IllegalStateExceptionTest.java:15)