12-16

1、自定义异常MyException,注意此异常必须继承于异常类或其子类。

2、定义一个圆类(Circle),该类有属性半径r、构造方法以及求面积的成员方法getArea(),对半径进行判断,当r<0时,抛出MyException对象。

3、在测试类中使用try…catch…finally异常处理机制对半径小于零的圆实例进行处理,要求能捕获半径小于0时所抛出MyException异常。

package ex;

class MyException extends Exception {
public MyException(String message){
super(message);
}
public String getError(){
String info="半径不能为0或小于0";
return info;
}
}

class Circle {
double r;
public Circle() {}
Circle(double r){
this.r=r;
}
double getArea(){
if(r>0)
return 3.14*r*r;
else
throw new ArithmeticException("半径不能为0或小于0");
}
}

public class Excep {
public static void main(String[] args) throws MyException {
try{
Circle cir = new Circle(-9);
System.out.print(cir.getArea());
}
catch(ArithmeticException e){
System.out.print(e.getMessage());
}
}

}