zoukankan      html  css  js  c++  java
  • 实验九:异常的抛出、捕获并处理

    源代码:

    package yichang;

    public class Yichang {

    public static void main(String[] args) {

    point p1=new point(1,3);
    point p2=new point(1,2);
    point p3=new point(1,1);
    new rectangle(p1,-2,6);
    new triangle(p1,p2,p3);
    point[] point= {p1,p2};
    new Polygon(point);
    }

    }
    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("无效参数");
    }
    }
    class rectangle extends point{
    public int width,length;

    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(((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("无效的参数");
    }
    }
    class Polygon extends point
    { int i=0;
    public Polygon(point[] points)
    { i=points.length;
    if(i<=2)
    throw new IllegalArgumentException("Polygon无效参数异常");
    }

    }

    结果:

    Exception in thread "main" java.lang.IllegalArgumentException: 参数无效
    at yichang.rectangle.<init>(Yichang.java:40)
    at yichang.Yichang.main(Yichang.java:12)

     心得体会:


    通过本次实验我学习到了异常的抛出,捕获,并处理。但在具体输出中还是有些错误,但在同学帮助下理解了异常处理。

  • 相关阅读:
    阅读计划博文
    系统设计时所实现的质量属性战术
    关于如何提高系统的可用性和易用性
    jdbc.properties
    JDBCUtil
    软件质量属性的场景描述
    架构漫谈阅读笔记
    软件架构师工作过程
    orm框架中entityframework的 增删改查操作
    事件和委托
  • 原文地址:https://www.cnblogs.com/Z-js/p/10927655.html
Copyright © 2011-2022 走看看