gpt4 book ai didi

java - 有没有办法在不添加 throws 声明的情况下抛出异常?

转载 作者:IT老高 更新时间:2023-10-28 13:51:06 25 4
gpt4 key购买 nike

我有以下情况。

我有一个继承自另一个基类并覆盖方法的 Java 类。基本方法不会抛出异常,因此没有 throws ... 声明。

现在我自己的方法应该能够抛出异常,但我可以选择任一方法

  • 吞下异常或
  • 添加 throws 声明

两者都不令人满意,因为第一个会默默地忽略异常(好吧,我可以执行一些日志记录),第二个会因为不同的方法头而产生编译器错误。

public class ChildClass extends BaseClass {

@Override
public void SomeMethod() {
throw new Exception("Something went wrong");
}
}

最佳答案

如果你真的想的话,你可以抛出未经检查的异常而不必声明它们。未经检查的异常会扩展 RuntimeException。扩展 Error 的 Throwables 也未选中,但只能用于完全无法处理的问题(例如无效的字节码或内存不足)。

作为特定情况,Java 8 添加了 UncheckedIOException用于包装和重新抛出 IOException

关于java - 有没有办法在不添加 throws 声明的情况下抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519557/

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