Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

IllegalStateException (ไม่ได้เลือก) จะถูกโยนทิ้งใน Java เมื่อใด


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)