c class yichang {
private String name=" ";
private int age=0;
private String sex;
public void setSex(String sex)throws GenderException
{
if("男".equals(sex)||"女".equals(sex))
{
System.out.println("你输入的年龄是正确的");
this.sex=sex;//因为我们在定义了一个的带参数的方法,所以我们加上这一句的代码是必须的,否则你在下面调用的时候,它就自动的去执行else的语句。
}
else
{
throw new GenderException("年龄必须是男或者是女的");//没有上面的四个构造函数,那么我们发生异常的时候,那么必须是男或者女的就打印不出来了。所以由上面的四个构造函数去调用它们。
}
}
public void print()
{
System.out.println("sex="+this.sex);
}
}
public class text {
public static void main(String[]args)
{
yichang yi=new yichang();
try
{
yi.setSex("jjgh");//因为这个性别与男或者女的不符合,所以发生异常了。
yi.print();
}catch(GenderException e){
e.printStackTrace();
}
}
}
打印结果为:GenderException: 年龄必须是男或者是女的
at yichang.setSex(yichang.java:15)
at text.main(text.java:8)