Version: 2022.3
LanguageEnglish
  • C#

AtomicSafetyHandle.CheckExistsAndThrow

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static void CheckExistsAndThrow(ref Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle);

Parameters

handle The AtomicSafetyHandle to check.

Description

Checks if the handle is still valid and throws an exception if it is already destroyed.

An AtomicSafetyHandle becomes invalid when the version number it stores no longer matches the version number of the associated entry in the safety system. This always happens when AtomicSafetyHandle.Release has been called on this handle, or on one of the other handles referencing the same memory region. It can also happen if this handle is using the secondary version and some handle has called AtomicSafetyHandle.CheckWriteAndBumpSecondaryVersion or AtomicSafetyHandle.SetBumpSecondaryVersionOnSchedule.

For more information about container version numbers, see Copying NativeContainer structures.

CheckExistsAndThrow is identical in behavior to AtomicSafetyHandle.IsHandleValid, except that it throws an exception when the handle is not valid, rather than returning false.