class NoValueException extends RuntimeException
{
NoValueException(String msg)
{
super(msg);
}
}
interface Shape
{
void getArea();
}
class Rec implements Shape
{
private int len;
private int wid;
Rec(int len,int wid)
{
if(len<=0||wid<=0)
throw new NoValueException("长方形面积怎么可能为负数!!!");
this.len=len;
this.wid=wid;
}
public void getArea()
{
System.out.println(len*wid);
}
}
class ExceptionDemo2
{
public static void main(String[] args)
{
Rec r=new Rec(3,4);
r.getArea();
}
}
在毕老师讲解的视频中:NoValueException(String msg){super(msg);}它的父类是底层怎样实现的呢?还是不太清楚?
还有在自定义异常时有两种方式:一种是继承Exception,另一种是继承RuntimeException。在上面的例子中显然继承RuntimeException 时会比较简单,但是在实际的应用中
是不是尽量继承RuntimeException ? 那种继承方式更常用呢?在什么情况下必须使用继承Exception ?
|
|