在学习异常的时候,学到了一个知识点,就是在我们进行double类型的除法运算的时候,double res = num1 /num2,如果这里的num2为0,是不会像int类型那样去产生ArithmeticException的,结果是Infinity,就是无穷大,那么我们这时候可以使用自定义类型结合Throwable类自带的NumberformatException去做一个异常测试,并且作为一个初学者,我还是慢慢意识到了OOP中的各种优势,比如static(类变量),或者是匿名内部类等等,这让我们不用去实例化类就能实现类的各种方法
public class test {
public static void main(String[] args) {
cal("4","0");
cal("4","csdn");
cal("2025.10","10.17");
}
public static void cal(String s1,String s2){
try {
double n1 = Double.parseDouble(s1);
double n2 = Double.parseDouble(s2);
double res = n1 / n2;
if(n2 == 0){
throw new CustomException("n2不能为0");
}
System.out.println(res);
} catch (NumberFormatException e) {
System.out.println("数据类型错误");
}
}
}
class CustomException extends RuntimeException{
public CustomException(String message) {
super(message);
}
}

被折叠的 条评论
为什么被折叠?



