线程“main”中的异常java.lang.ArithmeticException:/ by zero

时间:2012-05-30 13:51:46

标签: java exception main arithmeticexception

我有两个关于Exceptions的问题。首先,我从我的代码中得到了这条消息......

Exception in thread "main" java.lang.ArithmeticException: / by zero

此错误消息表示除以零,例如执行int a = 5 / 0;

一个方法可以抛出一个Exception类实例,不是吗?但这是一种表达方式。为什么表达式可以抛出Exception类实例?

我的第二个问题是thread "main"。什么是thread "main""main"是指static main方法吗?

3 个答案:

答案 0 :(得分:4)

java.lang.ArithmeticException是一种Exception,旨在更好地描述问题的实际内容。创建一个Exception毫无意义,因为它确实可能是由任何东西造成的。通过生成ArithmeticException,用户可以立即知道问题与计算有关。任何代码都可以抛出Exception,包括在您的示例等计算中。

Exception in thread "main"表示main()方法抛出了异常,它恰好是运行代码的主要线程。

答案 1 :(得分:2)

方法可以抛出异常类实例,不是吗?

是的,他们可以。

但这是陈述。为什么语句可以抛出异常类实例?

可以在任何地方发生异常。所以即使是语句也会抛出异常。如果你的意思是为什么语句不能抛出异常,他们就可以。这是一个例子:

if ((a/b) == 0) {
        throw new ArithmeticException();
    }

第二个问题是关于线程“主”。什么是线程“主”?

当Java程序启动时,一个线程立即开始运行。这通常称为程序的主线程,因为它是程序开始时执行的线程。

答案 2 :(得分:0)

它的算术例外情况:表示在逻辑上某些东西,在数学算术中不存在;

检查“ for循环”或任何其他逻辑功能的条件。

一个例子是,当您在某个地方编写如下内容:(n % i == 0)并进行初始化i = 0时,现在每个人都知道该数字不能除以零。因此,您可能需要将初始化更改为i = 1