我有两个关于Exceptions
的问题。首先,我从我的代码中收到了这条消息...
Exception in thread "main" java.lang.ArithmeticException: / by zero
此错误消息表示除以零,例如通过执行int a = 5 / 0;
方法可以抛出一个Exception
类实例,不是吗?但这是一种表达。为什么表达式可以抛出Exception
类实例?
我的第二个问题是关于thread "main"
.什么是thread "main"
?"main"
是指static main
方法吗?
java.lang.ArithmeticException
是一种旨在更好地描述问题实际是什么的Exception
。仅仅创建一个Exception
是没有意义的,因为它真的可能是由任何事情引起的。通过生成ArithmeticException
,用户可以立即知道问题与计算有关。任何代码段都可以引发Exception
,包括在计算(例如示例)中。
Exception in thread "main"
表示异常由 main()
方法引发,该方法也恰好是运行代码的主要 Thread。
方法可以抛出异常类实例,不是吗?
是的,他们可以。
但这是声明。为什么语句可以抛出异常类实例?
异常可能发生在任何地方。因此,即使是语句也可能引发异常。如果你的意思是为什么语句不能抛出异常,那么他们可以。下面是一个示例:
if ((a/b) == 0) {
throw new ArithmeticException();
}
第二个问题是关于线程"main"。什么是线程"主"?
当 Java 程序启动时,一个线程立即开始运行。这通常称为程序的主线程,因为它是在程序开始时执行的线程。
它的算术例外情况:表示逻辑中不存在的数学算术;
检查"for 循环"或任何其他逻辑函数的条件。
一个例子是当你在某处写下类似的东西:(n % i == 0)
并给出初始化i = 0
,现在每个人都知道这个数字不能被零除。因此,您可能需要将初始化更改为 i = 1
。