需求:定义一个circle类,其中包括计算圆面积和圆周长的方法,若输入的半径小于0,则抛出一个自定义异常。
/**
*需求:定义一个circle类,其中包括计算圆面积和圆周长的方法,若输入的半径小于0,则抛出一个自定义异常。
*/
class lenghException extends Exception
{
private double value;
lenghException(String msg,double value)
{
super(msg);
this.value=value;
}
public double getValue()
{
return value;
}
}
class circle
{
private double r;
static final double PI=3.14;
public void setR(double r)throws lenghException
{
if (r<0)
throw new lenghException("出现了半径为负数的情况,你的半径不能为负数",r);
this.r=r;
}
public void getarea()
{
System.out.println(r*r*PI);
}
public void getlengh()
{
System.out.println(2*r*PI);
}
}
public class CircleExceptionDemo
{
public static void main(String[] args)throws lenghException
{
circle circle = new circle();
try
{
circle.setR(5);
circle.getarea();
circle.getlengh();
}
catch(lenghException e)
{
System.out.println(e.toString());
System.out.println("错误的数是:"+e.getValue());
}
circle circle2= new circle();
try
{
circle2.setR(-2);
circle2.getarea();
circle2.getlengh();
}
catch(lenghException e)
{
System.out.println(e.toString());
System.out.println("错误的数是:"+e.getValue());
}
}
}
输出结果如下: