运行时和编译中的throwException不同

时间:2014-12-07 04:09:52

标签: java exception compilation runtime

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

提前致谢:)

1 个答案:

答案 0 :(得分:1)

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

  

“请注意。程序中的错误是编译时错误还是运行时异常?”

在这里,演讲者试图从错误报告中含糊不清的人那里获得更准确的描述。 (如果你长时间呆在StackOverflow附近,你会遇到许多Q& As,有必要提出这样的问题,以确定OP实际上在询问的内容。)


另一方面,Java异常层次结构有一个名为RuntimeException(一个字!)的异常,它是已检查异常的两个超类之一。因此,有人可能会使用短语“运行时异常”来表示未经检查的异常。 (但我认为那是一个很糟糕的术语......)