gpt4 book ai didi

java - 在 Java 中,为什么我可以不处理某些类型的异常而不处理其他类型的异常呢?

转载 作者:行者123 更新时间:2023-11-29 09:56:44 24 4
gpt4 key购买 nike

我怎么可以拥有

public void someMethod() {
throw new UnsupportedOperationException();
}

但不是

public void someMethod() {
throw new throw new IOException();
}

第一个很好,第二个生成编译错误“未处理的异常类型 IOException”。

最佳答案

所有可以扔的东西都是Throwable . Throwable 有两种类型:

Exception 的一个子类是 RuntimeException ,这是“未检查的” - 意味着您不必声明或捕获它们。这些通常用于“编程错误”,例如 NullPointerExceptionArrayOutOfBoundsException .

Errors 也是“未经检查”的,用于“不可恢复”的情况,例如 OutOfMemoryError 等。

任何不是 ErrorRuntimeException 子类的 Throwable 都被“检查”,必须声明为抛出或捕获。

关于java - 在 Java 中,为什么我可以不处理某些类型的异常而不处理其他类型的异常呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144490/

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