java - 运行时抛出异常和编译时抛出异常的区别

标签 java exception compilation runtime

我刚刚遇到一个面试问题: java会在编译或运行时抛出异常吗? 基本上我知道java应该在运行时抛出异常,因为有一种类型的异常 称为运行时异常,但是编译怎么样?我还是很困惑。任何人都可以帮助我 解释一下这两个?

提前致谢:)

最佳答案

Java 程序在编译时不会抛出异常。因此,当人们谈论“运行时异常”时,“运行时”这个词在技术上是多余的。然而,他们很可能出于某种原因而包含了多余的“运行时”一词;例如

"Please be clear. Is the error in your program a compile time error or a runtime exception?"

在这里,发言者试图从错误报告中含糊其辞的人那里获得更准确的描述。 (如果你在 StackOverflow 呆的时间足够长,你会遇到很多问答,有必要提出这样的问题来弄清楚 OP 实际在问什么。)

<小时/>

另一方面,Java 异常层次结构有一个名为 RuntimeException 的异常(一个词!),它是受检查异常的两个父类(super class)之一。因此,有人也可能使用短语“运行时异常”来表示未检查异常。 (但我认为这是一个糟糕的术语......)

关于java - 运行时抛出异常和编译时抛出异常的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339505/

相关文章:

java - 在 Java 中将一个数组列表复制到另一个数组列表的时间复杂度是多少?

python - 为什么在函数中返回抑制引发的异常?

java - 抛出私有(private)异常有意义吗?

java - js 中的脚本

java - 跨类检索ListView到Adapter

java - Java 中具有自动索引的集合

PHP:尝试/捕获失败

Android编译慢(使用Eclipse)

使用 FFmpeg 库的 C 代码 - 编译错误

c - 如何让我的if语句输出正确的printf C程序