如图,问题也在图片中,为什么改成-1,就会抛异常,改成6就不抛了,
下面是完整的代码
public class TryCatchTest {
public static void main(String[] args) {
TryCatchTest tct = new TryCatchTest();
int result = tct.test();
System.out.println("test()方法,执行完毕!返回值为:"+result);
}
public int test(){
int divider = 10;
int result = 100;
try{
while(divider > 6){
divider--;
result = result + 100/divider;
}
return result;
}catch(Exception e){
e.printStackTrace();//打印异常信息的方法
return -1;
}
}
}
当while(divider > -1){ divider == 1时,
divider -- ,divider为0,result = result + 100/divider除数为0,
而判断为6,除数不可能降到0
divider 能减到-1?
0能做除数吗,你报的异常也是算术异常吧,
ArithmeticException 是这个吗
result = result + 100/divider;
6改成-1时divider会是0除数为零是会有算术异常的
可能是它把你的-1当成了一个表达式,而不是当作一个常量-1。(菜鸟提议)
当divider=0时会抛除数为0的异常
基本的数学观念问题 除数不能为0