刚看到异常,有个返回语句不理解,求前辈指点
class Excep
{
int division(int a,int b) throws ArithmeticException
{
try
{
return a/b;
}
catch (ArithmeticException e)
{
throw e;
}
}
int fn1(int a,int b) throws ArithmeticException
{
return division(a,b);
}
}
class Text
{
public static void main(String[] args)
{
Excep excep = new Excep();
try
{
excep.fn1(5,0);
System.out.println( "Exception ");
}
catch (ArithmeticException ex)
{
System.out.println(ex.toString());
return;//返回到哪?为什么返回了finish不执行?
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
System.out.println( "finally ");
}
System.out.println( "finish ");
}
}
------解决方案--------------------别听楼上瞎扯,到return这里肯定会先执行下边的finally再return的
finally
{
System.out.println( "finally ");
}
------解决方案--------------------说白了return就是返回。返回到方法,不再执行方法体。不是方法都有个返回类型吗。
finally 就是天王老子不关你怎么搞他都要执行。他有特权的
这代码执行过程就是先运行到return这返回到方法。再执行finally里面的再跳出方法
------解决方案--------------------但是main函数不是void的吗?返回的话?????????
=================================================
你改成return 1;
应该就明白了