zoukankan      html  css  js  c++  java
  • 异常的抛出,捕获并处理

    源程序:


    public class dong {
     public static void main(String[] args) {
      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("不能构成三角形,此为无效的参数!");
    }
    }
    运行结果:
    Exception in thread "main" java.lang.IllegalArgumentException: 2x或y是无效参数!
     at point.<init>(dong.java:23)
     at dong.main(dong.java:5)
    实验心得:实验中共处理三个异常,如果给的条件不符合其取值范围,就会出现抛出异常,之后就会进行异常捕捉和处理。
    异常处理方法为IllegalArgumentException();
  • 相关阅读:
    以一道CTF题目看无参数RCE
    浅谈php序列化字符串逃逸问题
    [XCTF 4th] ics-05 复现
    关于Sharp俩打印机AR-1808S和AR-2348SV的共享问题
    关于使用AdventureWorks2008示例数据库之初碰到的问题
    明日科技的SQL Server---6
    ado.net 4 step by step随书数据库
    手欠,大半个下午加一晚上就报销了。
    程序员的SQL金典
    c#读写文件
  • 原文地址:https://www.cnblogs.com/java-17/p/10914891.html
Copyright © 2011-2022 走看看