本帖最后由 翁发达 于 2012-9-7 09:45 编辑
如下,在异常中,我们如果先catch父类的异常,再catch子类异常.这是不可以的,但先catch子类异常再catch父类异常就没问题,
谁可以和我讲讲具本原因是什么?
一个异常,父类,子类都可catch,本来按理讲,要么就只能放一个,要么就两个都能放,可里这种方式的原理是什么一直想不明白.
class Num
{
public static void main(String[] args)
{
Num1 n = new Num1();
try
{
n.num(2,0);
}
catch (RuntimeException e)
{
System.out.println(e.getMessage()+"\n"+"ffffffffffffff");
}
catch (NumException e)
{
System.out.println(e.getMessage()+"\n");
}
}
}
class Num1
{
int num(int a,int b) throws NumException
{
if(b<1)
{
throw new NumException("不可以为零",b);
}
return a/b;
}
}
class NumException extends RuntimeException
{
int b;
NumException(String message, int b)
{
super(message);
this.b=b;
}
int getNum()
{
return b;
}
}
|