suppress exceptions in destructor to avoid undefined behavior