实验九:异常的抛出、捕获并处理
一、源程序
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("不能构成三角形,此为无效的参数!"); } }
二、实验结果
三、实验心得
实验有一定难度,需细心调试。