"Abstract supertype of resources which are created at the beginning of a `try` statement and destroyed when the statement completes. Unlike an [[Obtainable]] resource, a single instance of `Destroyable` may not be reused between multiple `try` statements or multiple executions of the same `try` statement. try (tx = Transaction()) { ... } - The resource is instantiated before the body of the `try` statement is executed, and - [[destroy]] is called when execution of the body of the `try` statement ends, even if an exception propagates out of the body of the `try`." see (`interface Obtainable`) tagged("Basic types") since("1.1.0") shared interface Destroyable satisfies Usable { "Destroy this resource. Called when execution of the body of the `try` statement ends, even if an exception propagates out of the body of the `try`." shared formal void destroy( "The exception propagating out of the body of the `try` statement, or `null` if no exception was propagated." Throwable? error); }