• java异常练习2


    /*
    有一个圆形和长方形
    都可以获取面积,对于面积,如果出现非法数值,视为获取面积出现问题
    问题通过异常来表示。
    先要对这个程序进行基本的设置

    */
    /*首先想一下,怎么写这个程序
    基本属性是肯定要的
    求面积呢?
    1.可以定义成函数
    2.可以定义成接口
    3.或者数据库什么的
    */

     1 interface Shape       /*可以直接打印,可以返回*/
     2 {
     3     void getArea();  /*要传递参数吗?不需要,因为这是抽象类,需要把一些共同的属性抽取出来,这里并没有,需要重写,这里重新获取就可以*/
     4 }
     5 class NoValueException extends RuntimeException
     6 {
     7     NoValueException(String message)     /*构造函数*/
     8     {
     9         super(message);             /*调用父类的构造函数*/   /*这里是父类的错误信息,直接能够赋值的*/
    10     }
    11 }
    12 class Cricle implements Shape
    13 {    
    14     private int radius;
    15     public static final double PI=3.14;
    16     Cricle(int radius)
    17     {
    18         if(radius<0)
    19             throw new RunTimeException("非法");    /*使用这个异常名称不好,不好处理问题,应该自定义名称*/
    20         this.radius=radius;
    21     }
    22     public void getArea()
    23     {
    24         System.out.println(radius*radius*PI);   /*不需要改动的值起一个名字  PI*/
    25     }
    26 }
    27 
    28 
    29 class Rec implements Shape            /*长方形*/
    30 {
    31     private int len,wid;    /*定义长和宽*/
    32     Rec(int len,int wid)    /*这哥们一初始化就有这个东西*/
    33     {
    34         if(len<=0||wid<=0)
    35         {
    36             throw new NoValueException("出现非法值");
    37         }
    38         
    39         this.len=len;     /*进行赋值*/
    40         this.wid=wid;
    41     
    42     }
    43     public void getArea()                   /*进行重写*/
    44     {
    45         System.out.println(len*wid);      /*直接打印输出面积*/
    46     }
    47 }
    48 
    49 
    50 class ExceptionText1
    51 {
    52     public static void main(String args[])
    53     {
    54         //try                           /*检测代码块*/
    55         //{
    56             Rec r=new Rec(3,4);       /*你发现输入负数,面积为负数,这是不允许的,以前用if避免,但现在,请你用*/
    57             r.getArea();               /*如果上面的代码出现了错误,这块就不运行了*/
    58         //}
    59         //catch(NoValueException e)      /*接收异常,这种处理是没有用的*/
    60         //{
    61             //System.out.println(e.toString());               /*输出异常信息*/
    62         //}
    63         System.out.println("over");          /*最后输出*/   /*然而运行这是没有用的,还不如直接用运行时异常,不需要检查捕捉处理,直接停掉*/
    64     }
    65 }
  • 相关阅读:
    KVC该机制
    JS多语种方式
    面试经典(1)---翻转字的顺序在一个句子
    正确Linux新手很实用20命令
    代码添加背景音乐的日记
    什么是比特币(Bitcoin)?
    李开复:该算法的重要性
    javascript推断的浏览器类型
    libyuv编
    Linux下将UTF8编码批量转换成GB2312编码的方法
  • 原文地址:https://www.cnblogs.com/liangqiyuan/p/5645119.html
Copyright © 2020-2023  润新知