gpt4 book ai didi

java - java中封闭的资源应该如何表现?

转载 作者:行者123 更新时间:2023-12-01 10:14:37 25 4
gpt4 key购买 nike

我有一个 Java 类,它在内部拥有一个 Closeable 资源。这意味着我的类还实现了 Closeable 接口(interface)并在其自己的 close() 方法中关闭了内部资源。

我的类在关闭后的预期行为是什么,通常是 Java 中的任何已关闭对象?我看到该对象处于失效状态,其内部已关闭,但客户端仍对其有引用。 IMO 访问它是一个编程错误,但错误会不时发生,所以即使在这种情况下,行为也应该是合理的......

我是不是该?

  • 对所有方法调用抛出异常,例如:IllegalState
  • 闭上眼睛就像什么都没发生一样,让异常从关闭的资源中通过?

  • 什么是规范的 Java 方式?

    最佳答案

    在关闭内部资源后尝试访问内部资源时应该抛出异常,IllegalStateException 就可以了。值得注意的一件事是,您可以在 try-with-resources 中使用 Closeable,以进一步确保一旦对象超出范围,它就会关闭。

    关于java - java中封闭的资源应该如何表现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61229561/

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