Fix potential double close() on exception