我记得有一个异常练习的第16题就是这方面的。当时纠结了好一段时间还发了个贴子问了大家,但是还是
没明白,现在慢慢的转过这个弯儿了,估计咱俩纠结在一个地方,我就说一下我自己的理解希望对你有帮助。
说throw单独存在时,下面不能有语句,因为执行不到。记着是单独存在时执行不到。我们来对比下:
try
{
throw new Exception();//4.throw单独存在时不就是肯定会抛异常吗
System.out.println("A");//5.既然肯定抛异常,那一抛就try了,这句肯定执行不到的啊那写了有什么用呢
//1.上面那两句就相当于毕老师举得那个除数的例子
div(a,b);//2.这句话有可能会抛异常,抛了的话就进行try处理,不抛就打印下面的值
System.out.println("A");//3.所以说下面这句是有可能执行到的
}
而下面这段代码的意思是:
try
{
if(i==1)//如果满足条件就抛异常然后就try catch处理了
throw new Exception();
output+="1";//如果i不等于1就执行这句啦,所以这句是有可能执行到的,就像楼上说的return
}
另外 你记着throw new Exception()就相当于a/b时b等于零的情况,都出异常了下面的肯定是执行不到的 |