ในขณะที่คุณใช้วิธีที่ทำให้เกิด IllegalArgumentException เนื่องจากคุณทราบข้อโต้แย้งทางกฎหมายของอาร์กิวเมนต์ดังกล่าว คุณจึงสามารถจำกัด/ตรวจสอบอาร์กิวเมนต์ได้โดยใช้ if-condition ก่อนดำเนินการ และหลีกเลี่ยงข้อยกเว้น
เราสามารถจำกัดค่าอาร์กิวเมนต์ของเมธอดโดยใช้คำสั่ง if ตัวอย่างเช่น หากเมธอดยอมรับค่าของช่วงใดช่วงหนึ่ง คุณสามารถตรวจสอบช่วงของอาร์กิวเมนต์ได้โดยใช้คำสั่ง if ก่อนดำเนินการเมธอด
ตัวอย่าง
ตัวอย่างต่อไปนี้จัดการ IllegalArgumentException ที่เกิดจาก setPriority() วิธีการโดยใช้คำสั่ง if
<ก่อนหน้า>นำเข้า java.util.Scanner;คลาสสาธารณะ IllegalArgumentExample { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) { เธรดเธรด =เธรดใหม่ (); System.out.println("ป้อนค่าลำดับความสำคัญของเธรด:"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); ลำดับความสำคัญ int =sc.nextInt(); if(priority<=Thread.MAX_PRIORITY) { thread.setPriority(ลำดับความสำคัญ); }อื่น{ System.out.println("ค่าลำดับความสำคัญควรน้อยกว่า:"+Thread.MAX_PRIORITY); } } }ผลลัพธ์
ป้อนค่าลำดับความสำคัญของเธรด:15ค่าลำดับความสำคัญควรน้อยกว่า:10