app浏览器源码大全网站,知乎建站平台,缅甸新闻最新消息,做seo需要投入的成本除了系统中自己带的异常#xff0c;我们也可以自己写一些简单的异常类来帮助我们处理问题。
所有的异常命名都是以Exception结尾#xff0c;并且都是Exception的子类。
假设我们要编写一个人类的类#xff0c;为了判断年龄的输入是否合法#xff0c;我们编写了一个名为Il…除了系统中自己带的异常我们也可以自己写一些简单的异常类来帮助我们处理问题。
所有的异常命名都是以Exception结尾并且都是Exception的子类。
假设我们要编写一个人类的类为了判断年龄的输入是否合法我们编写了一个名为IllegalAgeException的异常类
package 实验五;public class IllegalAgeException extends Exception
{private static final long serialVersionUID 1L; public IllegalAgeException() {}public IllegalAgeException(String message){super(message);}
}这里如果我们要传递自己的信息就要有一个有参构造函数里面调用父类的有参构造函数并将消息传入。然后就可以调用异常类的方法将消息输出 然后我们为了可以多次使用再创建一个专门检查年龄是否合法的类里面没有什么成员就只有一个静态方法用来检查并抛出异常。
package 实验五;public class CheckAge
{public static void check(int age) throws IllegalAgeException{if(age0){throw new IllegalAgeException(人类年龄应该是一个非负整数);}else if(age150){throw new IllegalAgeException(目前不存在年龄这么大 的人类);}}
}
然后我们在创建人类的时候就可以调用这个类检查输入的年龄是否有误了
package 实验五;import java.util.*;public class Person
{private int age;private String sex;private String name;Person(){int _age;Scanner scnew Scanner(System.in);System.out.print(姓名); namesc.next();System.out.print(性别); sexsc.next();System.out.print(年龄); _agesc.nextInt();try{CheckAge.check(_age);}catch(IllegalAgeException e){e.printStackTrace();}age_age;}Person(String _name,String _sex,int _age){namenew String(_name); sexnew String(_sex);try{CheckAge.check(_age);}catch(IllegalAgeException e){e.printStackTrace();}age_age;}String getName(){return name;}String getSex() {return sex;}int getAge(){return age;}void setName(String _name){namenew String(_name);}void setSex(String _sex){sexnew String(_sex);}void setAge(int _age){try{CheckAge.check(_age);}catch(IllegalAgeException e){e.printStackTrace();}age_age;}
}
可以在主程序中运行一下检测
package 实验五;import java.util.*;public class A
{public static void main(String[] args) {Person anew Person();}}
运行结果