我刚刚遇到一个面试问题: 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/