一、实验代码

package Throws;
import java.util.Scanner;
public class Point {
    static int x;
    static int y;
    Point(int x,int y)throws IllegalArgumentException{
        if(x<0||y<0){
            throw new IllegalArgumentException("无效参数");
            };
        
        this.x=x;
        this.y=y;
    }
    public int leng(){
        return x-y;
    }
}

package Throws;
import java.util.Scanner;
public class Triangle {
    private static final Point Point = null;
    public Point point2,point3;
    protected double a,b,c;
    public Triangle(Point p1,Point p2,Point p3) throws IllegalArgumentException{
        if(p1.leng()==0||p2.leng()==0||p3.leng()==0){
            throw new IllegalArgumentException("无效参数");
        }
        this.point2=p2;
        this.point3=p3;
    }
   
}

package Throws;
import java.util.Scanner;
public class Rectangle {
     static int length;
        static int width;
        Rectangle(Point point1,int length,int width)throws IllegalArgumentException{
            if(length<0||width<0){
                throw new IllegalArgumentException("无效参数");
            }
            this.length=length;
            this.width=width;
        }
}
package Throws;
import java.util.Scanner;
public class Polygon {
     public Point Point[];
       public Polygon(Point[] points)throws IllegalArgumentException{
           if(points.length<3){
               throw new IllegalArgumentException("无效参数");
           }
           Point=points;
        }
    }
package Throws;
import java.util.Scanner;
import static java.lang.System.exit;
public class Zhu {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Point p1=new Point(0,0);
          Point p2=new Point(1,0);
          Point p3=new Point(0,1);
          Rectangle r=new Rectangle(p1,5,6);
          Triangle t=new Triangle(p1,p2,p3);
          Point[] point= {p1,p2};
          new Polygon(point);
    }

}

二、实验结果

三、实验心得

1.实验之前对异常的捕获的概念还是很模糊,做完实验,理解很深刻了

2.测试的数量比较少,下次改进