4

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

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

此错误消息意味着除以零,例如通过做int a = 5 / 0;

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

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

4

3 回答 3

4

java.lang.ArithmeticException是一种Exception旨在更好地描述实际问题的类型。仅仅创建一个 没有意义Exception,因为它真的可能是由任何事情引起的。通过生成ArithmeticException,用户可以立即知道问题与计算有关。Exception任何一段代码都可以抛出An ,包括在您的示例等计算中。

Exception in thread "main"表示该方法引发了异常,该main()方法也恰好是运行您的代码的主线程。

于 2012-05-30T13:57:06.560 回答
2

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

是的他们可以。

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

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

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

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

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

于 2012-05-30T13:58:17.197 回答
0

其算术例外情况:指逻辑中不存在于数学算术中的事物;

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

一个例子是当你在某处写下类似的东西:(n % i == 0)并给出初始化i = 0,现在每个人都知道这个数字不能被零除。因此,您可能需要将初始化更改为i = 1.

于 2020-02-13T19:06:38.443 回答