视频里自定义一个异常类这一部分。
* 为什么自定义的这个异常类不能用public修饰?
* 运行后错误信息提示是:The public type exceptionDemo must be defined in its own file
- //自定义一个异常类,继承Exception类。
- class exceptionDemo extends Exception{
- private String msg; //定义一个字符串类型的成员变量
- exceptionDemo(String msg) { //新建一个带字符串类型参数的构造方法
- this.msg=msg;
- }
- public void getMsg(){ //定义一个输出错误信息提示的方法
- System.out.println("错误提示:"+msg);
- }
- }
- //定义一个接口,该接口拥有一个图形共有的面积特征
- interface shape{
- abstract void are(double d) throws exceptionDemo; //获得面积的抽象方法
- }
- //定义一个类继承图形接口
- class circle implements shape{
- public final double PI=3.14; //final修饰的常量
- public void are(double d) throws exceptionDemo{ //重写计算面积方法
- if(d<0) //对参数判断如果不合适就抛出自定义的异常
- throw new exceptionDemo("非法");
- System.out.println(d*d*PI);
- }
- }
-
-
- //测试类
- public class ziDingYiException {
- public static void main(String[] args) {
- try {
- circle c=new circle(); //初始化类
- c.are(-1); //调用计算面积的方法
- } catch (exceptionDemo e) { //捕获异常,并进行处理
- System.out.println("错误信息:"+e.toString());
- }
- }
- }
复制代码 |
|