1、设计一个Person类,该类包含一个age属性,即人的年龄,该值不能为负数;
2、在给该对象属性赋值为负数时,抛出异常,有两种方式可以实现;
2.1、在Person对象的setAge方法中将异常进行抛出,uncheked方式,能正常编译通过,运行时报错;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Person{ private int age; public void setAge(int age){ if (age < 0){ throw new RuntimeException("年龄不能为负数..."); } this.age = age; } } class Demo{ public static void main(String args[]){ Person p = new Person(); p.setAge(-1); } } 运行结果: Exception in thread "main" java.lang.RuntimeException: 年龄不能为负数... at Person.setAge(Person.java:5) at Demo.main(Demo.java:4) |
2.2、在该属性的set方法中进行异常申明,让调用者进行异常处理,checked方式,没有异常处理会在程序编译时报错;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class Person{ private int age; public void setAge(int age) throws Exception{ if (age < 0){ throw new Exception("年龄不能为负数..."); }else{ this.age = age; } } } class Demo{ public static void main(String args[]){ Person p = new Person(); try{ p.setAge(-1); }catch(Exception e){ e.printStackTrace(); } } } 运行结果: java.lang.Exception: 年龄不能为负数... at Person.setAge(Person.java:5) at Demo.main(Demo.java:5) |
3、