java异常类的使用方法,哪位大神帮忙解答一下,谢谢。 - 爱问答

(爱问答)

java异常类的使用方法,哪位大神帮忙解答一下,谢谢。

l  题目

// MyException.java

class MyException extends Exception

{

   String message;

   MyException(String str) {

      //【代码1】//把参数的引用传给message成员变量

 

   }

   public String getMessage() {

      //【代码2】//返回message成员变量

 

   }

}

abstract class A{

   abstract int f(int x,int y) throws MyException;

}

class B extends A{

   int f(int x,int y) throws MyException{

      if(【代码3】)//判断x、y都不大于100

         【代码4】//抛出一个新建的MyException对象,MyException对象中构造方法传入的参数内容为:乘数超过100

      return x*y;

   }

}

public class eClass{

   public static void main (String args[]){

      A a;

      【代码5】//设计a对象的B类上转型对象

      try

      {

         System.out.println(a.f(12,10));

         【代码6】//使用f()方法时传入一个大于100的乘数

      }

      catch(MyException e)

      {

         【代码7】输出错误信息

      }

   }

}


非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用try…catch…finally)这样的异常,也可以不处理。对于这些异常,我们应该修正代码,而不是去通过异常处理器处理 。这样的异常发生的原因多半是代码写的有问题。如除0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界ArrayIndexOutOfBoundsException,使用了空对象NullPointerException等等。

检查异常(checked exception):除了Error 和 RuntimeException的其它异常。javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。如SQLException , IOException,ClassNotFoundException 等。

需要明确的是:检查和非检查是对于javac来说的,这样就很好理解和区分了。


编写电池类(Cell):具有品牌属性,可以续电

1234567891011121314151617181920public class Cell {     private String brand;     public String getBrand() {        return brand;    }     public void setBrand(String brand) {        this.brand = brand;    }         Cell(String brand){        this.brand = brand;    }    public void relay() {        System.out.println("正在续电.......");    }     }

编写测试类(TestCell)

1234567891011import javax.swing.CellEditor;  public class TestCell {    public static void main(String[] args) {        Cell cell = new Cell("大牌电池");        System.out.println("测试结果:"+cell.getBrand());        cell.relay();    }     }


相关标签:谢谢大神java

下一篇:我安装了CAD2005,但是注册机打不开,球友仔们帮忙

上一篇:请大佬看一下这个单链表的基本操作,为什么这个程序运行起来有问题,我一直找不到原因

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?