模块  java.base
软件包  java.lang

Interface AutoCloseable

    • 方法详细信息

      • close

        void close()
            throws 异常
        关闭此资源,放弃任何底层资源。 try -with-resources语句管理的对象上自动调用此方法。

        虽然声明此接口方法抛出异常 ,但强烈建议实现者声明close方法的具体实现以抛出更具体的异常,或者如果关闭操作不能失败则不抛出任何异常。

        关闭操作可能失败的情况需要实施者的仔细关注。 强烈建议在抛出异常之前放弃底层资源并在内部将资源标记为已关闭。 close方法不太可能被多次调用,因此这可以确保及时释放资源。 此外,它还减少了资源包装或被其他资源包装时可能出现的问题。

        强烈建议此接口的实现者不要使用close方法抛出InterruptedException 此异常与线程的中断状态交互,如果InterruptedExceptionsuppressed,则可能发生运行时错误行为。 更一般地说,如果它会导致异常被抑制的问题, AutoCloseable.close方法不应该抛出它。

        请注意,与close的方法Closeable ,该close 不需要方法为幂等。 换句话说, close调用此close方法可能会产生一些可见的副作用,这与Closeable.close不同,如果多次调用则不需Closeable.close 但是,强烈建议close使用此接口的实现者使其close方法具有幂等性。

        异常
        异常 - 如果无法关闭此资源