gpt4 book ai didi

java - RunTimeException 被选中/未选中?

转载 作者:行者123 更新时间:2023-12-02 07:48:35 25 4
gpt4 key购买 nike

我对已检查/未检查的异常感到困惑。我认为 RunTimeException 是未经检查的异常,那么为什么它属于 Exception 类?

考虑一个案例..我的父类(super class)构造函数抛出 RunTimeException 而子类构造函数没有抛出任何东西..那么它不会在子类中给出任何编译时错误。
为什么即使 RuntimeException 是未经检查的异常也会发生?

谢谢,
贡扬·沙阿。

最佳答案

已检查异常是 Exception 的任何子类(或 Exception 本身),不包括类 RuntimeException 及其子类。

检查异常会迫使客户端程序员处理抛出异常的可能性。例如,java.io.FileInputStream 的 read() 方法抛出的 IOException

未经检查的异常是 RuntimeException 及其任何子类。类 Error 及其子类也未选中。

但是,对于未经检查的异常,编译器不会强制客户端程序员捕获异常或在 throws 子句中声明它。事实上,客户端程序员甚至可能不知道异常可能会被抛出。例如,String 的 charAt() 方法抛出的 StringIndexOutOfBoundsException。

必须在编译时捕获已检查的异常。运行时异常不需要。错误通常是不可能的,因为它们往往是不可恢复的。

关于java - RunTimeException 被选中/未选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10511915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com