当前位置: 首页 > 面试题库 >

为什么运行时异常是未经检查的异常?

墨财
2023-03-14
问题内容

通常,如果有任何类extends Exception,它将成为检查异常。Runtime exception还扩展了Exception。那么它是如何unchecked exception

难道他们在这种特殊情况下会在 编译器中 自定义检查?

编辑: 我对已 检查的v / s未检查的异常 以及它们的优缺点等有适当的了解。我不接受它们之间的区别。


问题答案:

在规范的第11.1.1节中有明确规定:

RuntimeException及其所有子类共同是 运行时异常类

未经检查的异常类 是运行时异常类和错误类。

除了未 检查的异常类检查的异常类
都是所有异常类。也就是说,除了RuntimeException及其子类以及Error及其子类之外,检查的异常类都是Throwable的所有子类。

所以是的,编译器肯定了解RuntimeException



 类似资料:
  • 问题内容: 我想知道为什么spring只处理未检查的异常.....谁能解释这背后的原因是什么。 Spring使用的任何设计模式都可以避免检查异常? 问题答案: Spring使用的任何设计模式都可以避免检查异常? 不是设计模式,而是 异常处理的最佳实践 。 考虑下面的代码: 上面的代码有什么问题? 引发异常后,将暂停正常程序执行,并将控制权转移到catch块。catch块捕获异常并抑制它。在catc

  • 问题内容: 什么是运行时异常?什么是“检查/未检查”异常以及“错误/异常”之间的区别?为什么有这么多类型?相反,Java可能仅遵循简单的设计(仅尝试/捕获所有类型)来处理程序中的异常情况? 问题答案: Throwable是所有异常的重中之重。在Throwable下面,您有Error和Exception。在异常下,您具有RuntimeException。 Java有两种类型的异常- 已检查和未检查。

  • 因为Java编程语言不需要捕获方法或声明未检查异常(包括 RuntimeException、Error及其子类),程序员可能会试图编写只抛出未检查异常的代码,或使所有异常子类继承自RuntimeException。这两个快捷方式都允许程序员编写代码,而不必担心编译器错误,也不用担心声明或捕获任何异常。虽然这对于程序员似乎很方便,但它避开了捕获或者声明异常的需求,并且可能会导致其他人在使用您的类而产

  • 问题内容: 什么时候应该创建一个检查异常,什么时候应该创建一个运行时异常? 例如,假设我创建了以下类: 我应该如何创建我的?它应该扩展还是?还是我应该只使用它? 问题答案: 在这个话题上有很多分歧。在我的上一份工作中,我们遇到了一些实际问题,运行时异常被遗忘了,直到它们出现在生产环境中(在ageswards.com上),因此我们决定只使用已检查的异常。 在我目前的工作中,我发现在很多情况下都有很多

  • 本文向大家介绍请问运行时异常与受检异常有什么区别?相关面试题,主要包含被问及请问运行时异常与受检异常有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:异常 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发

  • 我有以下两个示例,我不清楚java.lang.Exception是如何处理的:作为检查的或未检查的异常。 以下方法编译成功: 在这里,我认为java.lang.Exception是威胁java.lang.RuntimeException或java.lang.Error。不处理也可以声明扔。 如果我们没有使用异常,而是使用了检查异常(它是java.lang.Exception的子类),那么您必须在方