public class Test{ public static void main(String[] args){ try{ int a; int b=10,c=0; a=b/c; } catch(ArithmeticException e){ System.out.print("the divisor can't be zero"); } } }
呵呵,这里提醒一下大家,Java的数值计算是非常有特色的,不妨在初学的时候就搞清楚一点首先,不检查边界,不信大可试试 Integer.MAX_VALUE +1 == Integer.MIN_VALUE; double d = 1e40; //绝对超过界限这样都没有问题的呢!另外,浮点数计算遵循IEEE754标准,只有除以整数0才会抛异常,其它情况看看,如果上述代码这样写呢?int x = 1; double y = 0.0; double z = 0.0; System.out.println(x/y); //Infinity System.out.println(y/z); //NaN希望学习一门语言能举一反三,并且尝试弄清楚为什么是这样!具体参考Sun官方JVM规范
public class Test{
public static void main(String[] args){
try{
int a;
int b=10,c=0;
a=b/c;
}
catch(ArithmeticException e){
System.out.print("the divisor can't be zero");
} }
}
double d = 1e40; //绝对超过界限这样都没有问题的呢!另外,浮点数计算遵循IEEE754标准,只有除以整数0才会抛异常,其它情况看看,如果上述代码这样写呢?int x = 1;
double y = 0.0;
double z = 0.0;
System.out.println(x/y); //Infinity
System.out.println(y/z); //NaN希望学习一门语言能举一反三,并且尝试弄清楚为什么是这样!具体参考Sun官方JVM规范
刚看完你写的Java杂谈...膜拜...
然后踩死...