我有一个 Java 类,它在内部拥有一个 Closeable 资源。这意味着我的类还实现了 Closeable 接口并在其自己的 close() 方法中关闭了内部资源。
我的类在关闭后的预期行为是什么,通常是 Java 中的任何已关闭对象?我看到该对象处于失效状态,其内部已关闭,但客户端仍对其有引用。IMO 访问它是一个编程错误,但错误会不时发生,所以即使在这种情况下,行为也应该是合理的......
我是不是该?
- 在所有方法调用上抛出异常,例如:IllegalState
- 闭上眼睛就像什么都没发生一样,让异常从关闭的资源中通过?
什么是规范的 Java 方式?