实验九:异常的抛出、捕获并处理

时间:2023-02-02 18:24:47

一、源程序

package bjh16;

public class shiyan9 {

    public static void main(String[] args) {
        // TODO Auto-generated method stubpublic class dong {
         
              point p=new point(-1,3);
              point p1=new point(4,2);
              point p2=new point(3,3);
              rectangle r=new rectangle(p,2,6);
              triangle t=new triangle(p,p1,p2);
             }
            }
            class point {
            public int x,y;
            public point() {}
            public point(int x,int y)throws IllegalArgumentException
            {
            this.x=x;
            this.y=y;
            if(x<0||y<0)
            throw new IllegalArgumentException(x+y+"x或y是无效参数!"); 
            }
            }
            class rectangle extends point{
            public int width,length;
            //public point point1(3,6);
            public rectangle(point point1,int length,int width)throws IllegalArgumentException
            {
            this.length=length;
            this.width=width;
            if(length<0||width<0)
            throw new IllegalArgumentException(length+width+"长或宽为无效参数!");
            }
            } 
            class triangle extends point{
            public triangle(point point1,point point2,point point3)throws IllegalArgumentException
            {
            if(((point1.x-point2.y)-(point2.x-point1.y))+((point2.x-point3.y)-(point3.x-point2.y))+((point3.x-point1.y)-(point3.y-point1.x))==0)
            throw new IllegalArgumentException("不能构成三角形,此为无效的参数!");
            }    

    }

二、实验结果

 

 

实验九:异常的抛出、捕获并处理

三、实验心得

实验有一定难度,需细心调试。