我有两个关于Exceptions
的问题。首先,我从我的代码中得到了这条消息......
Exception in thread "main" java.lang.ArithmeticException: / by zero
此错误消息表示除以零,例如执行int a = 5 / 0;
一个方法可以抛出一个Exception
类实例,不是吗?但这是一种表达方式。为什么表达式可以抛出Exception
类实例?
我的第二个问题是thread "main"
。什么是thread "main"
? "main"
是指static main
方法吗?
答案 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
。