gpt4 book ai didi

java - try-catch 除以零

转载 作者:行者123 更新时间:2023-12-01 23:14:53 27 4
gpt4 key购买 nike

我的问题是关于一个简单的除以零示例的 try-catch block 。你看到第一行的 try 了吗?如果我将这两个变量中的任何一个转换为 double,程序将无法识别 catch block 。在我看来,无论我是否强制转换,都必须执行 catch block 。这段代码有什么问题?

public static void main(String[] args) {

int pay=8,payda=0;

try {

double result=pay/(double)payda; // if I cast any of the two variables, program does not recognize the catch block, why is it so?
System.out.println(result);
System.out.println("inside-try");

} catch (Exception e) {

System.out.println("division by zero exception");
System.out.println("inside-catch");

}
}

最佳答案

除以零对于 float 有效。

  • 1/0 产生无穷大。
  • (-1)/0 产生 -Infinity。
  • 0/0 产生 NaN。

这些“数字”在 IEEE 754 中得到了正确定义。

另一方面,整数除以零会抛出异常,因为不能将无穷大表示为 int

关于java - try-catch 除以零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58358709/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com