实验九:异常的抛出、捕获并处理
package w;
public class T {
public static void main(String[] args) {
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);
}
}
class point
{
int x;
int y;
point(){}
public point (int x,int y)throws IllegalArgumentException
{
this.x=x;
this.y=y;
if(x<0||y<0)
throw new IllegalArgumentException("无效参数");
}
}
class rectangle extends point
{
int length;
int width;
public rectangle(point point1,int length,int width)throws IllegalArgumentException
{
this.length=length;
this.width=width;
if(length<0||width<0)
throw new IllegalArgumentException("无效参数");
}
}
class triangle extends point
{
public triangle(point point1,point point2,point point3)throws IllegalArgumentException
{
if(Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2))-Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2))<Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2)))
if(Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2))-Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2))<Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2)))
if(Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2))-Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2))<Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2)))
throw new IllegalArgumentException("无效参数");
}
}
class polygon extends point
{
public polygon(point[] points)throws IllegalArgumentException
{
int i;
i=points.length;
if(i<=2)
throw new IllegalArgumentException(无效参数");
}
}
public static void main(String[] args) {
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);
}
}
class point
{
int x;
int y;
point(){}
public point (int x,int y)throws IllegalArgumentException
{
this.x=x;
this.y=y;
if(x<0||y<0)
throw new IllegalArgumentException("无效参数");
}
}
class rectangle extends point
{
int length;
int width;
public rectangle(point point1,int length,int width)throws IllegalArgumentException
{
this.length=length;
this.width=width;
if(length<0||width<0)
throw new IllegalArgumentException("无效参数");
}
}
class triangle extends point
{
public triangle(point point1,point point2,point point3)throws IllegalArgumentException
{
if(Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2))-Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2))<Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2)))
if(Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2))-Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2))<Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2)))
if(Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2))-Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2))<Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2)))
throw new IllegalArgumentException("无效参数");
}
}
class polygon extends point
{
public polygon(point[] points)throws IllegalArgumentException
{
int i;
i=points.length;
if(i<=2)
throw new IllegalArgumentException(无效参数");
}
}
心得体会:
做本次实验时,由于自己不是很懂,所以向同学询问了本次实验的要点,讲解后,大概了解了异常抛出,捕获和处理的大概方法,但无法得出明确的方法,在完成实验后,我会继续思考本次实验,直到自己完全懂,