Memoryizz

java 08 异常three extends

class Throwablethree{

/*//两种方式的写法

public static void main(String[] agrs) Exception {
Person p =new Person();

 p.setAge(500);

*/

 

public static void main(String[] agrs){
Person p =new Person();
//处理异常
try{
p.setAge(900);
}

catch(AgeBIgException e){
e.printlnError();
}

catch(AgeSmallException e){
e.printlnError();
}
catch(AgeinvaException e){
e.printlnError();
}

}
}

//使用异常
class Person{
private int age;
public int getAge(){
return age;
}

public void setAge(int age) throws AgeBIgException,AgeSmallException,AgeinvaException{
if (age > 200){
throw new AgeBIgException();
}
else if (age == 0){
throw new AgeSmallException();
}
else if (age < 0){
throw new AgeinvaException("年龄非法");
}
this.age =age;
}
}

 

class AgeinvaException extends Exception{
private String info;
//构造函数第一条语句默认是super,就得调用父类的空构造
public AgeinvaException (String info ){
this.info =info;
}
public void printlnError(){
System.out.println(info);


}
}

//定义异常类继承AgeinvaException
////构造函数第一条语句默认是super,就得调用父类的空构造.上面有参数了,所以
//年纪太大太大异常
class AgeBIgException extends AgeinvaException{
public AgeBIgException (String info){
super(info);
}

public AgeBIgException (){
this("年纪太大");
}
}

//年龄太小异常
class AgeSmallException extends AgeinvaException{
public AgeSmallException (String info){
super(info);
}
public AgeSmallException (){
this("年纪太小");
}

}

 

 

 

--------------------------------------------------------------------------------------

作业:

一、
//定义三角形类Triangthroeb{a,b,c}
//两边之和大于第三边
//a b c 大于0

二、

2.Person.setBirthday(year,month,day);

a.年份上1970-2018

b.月份上1-12

c.天 1-31

d.生日是否有效

 

第一题

--------------------------------------------------------------------

class Triangthroeb{
public static void main(String[] agrs) {
Person p = new Person();
try{
p.Person(1,1,3);
}
catch(TriangchaException e){
e.printlnError();

}

catch(TriangException e){
e.printlnError();

}


}
}

class Person{
private int a;
private int b;
private int c;

public int Person(int a,int b,int c) throws TriangchaException,TriangException{
if (a<0||b<0||c<0 ){

throw new TriangException("参数为负数");
}
else if (a+b < c ||a+c < b ||b+c < a){
throw new TriangchaException();
}

return a;

}
}


class TriangException extends Exception{
private String info;
public TriangException (String info){
this.info =info;
}
public void printlnError(){
System.out.println(info);
}
}

class TriangchaException extends TriangException{
public TriangchaException (String info){
super(info);
}
public TriangchaException(){
this("两边之和小于第三边");
}
}

 

posted on 2019-01-14 15:41  Memoryizz  阅读(112)  评论(0编辑  收藏  举报

导航