ช่วยดูโค้ด java ให้หน่อยครับ ทำไมมันไม่เข้าเงื่อนไข catch

โจทย์คือ
          ให้เขียนโค้ดของเมท็อด setA(int a) ที่ไม่คืนค่าใด ๆ โดยถ้าพารามิเตอร์เข้า a เป็นค่าตั้งแต่ 0 ถึง 10 จะกำหนดค่าให้กับตัวแปรวัตถุ a ถ้าไม่เช่นนั้นจะโยนความผิดพลาด Exception ที่มีข้อความ "Error: bad value"



public class test_ass4 {
    int a;
    public void setA(int a) {

        try {
            if ((a >= 0) && (a <= 10)) {
                this.a = a;
                System.out.println(a+" Done");
            }
    
        } catch (Exception b) {
            System.out.println("Error");
        }
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        test_ass4 qq = new test_ass4();
        qq.setA(15);
    }

}

เวลารันผลลัพธ์ ถ้าตั้งค่าในช่วง0-10 มันรันผ่านครับ ขึ้นdoneตามที่กำหนด
แต่ถ้ามากกว่านั้น มันผ่านจริง แต่ไม่มีอะไรเกิดขึ้น แทนที่จะต้องขึ้นคำว่า Error : bad value
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่