Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


CheckExistsAndThrow(in AtomicSafetyHandle)

Check if an AtomicSafetyHandle is valid.
Read time 1 minuteLast updated a day ago

Definition

CheckExistsAndThrow(AtomicSafetyHandle)

[Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")]public static void CheckExistsAndThrow(in AtomicSafetyHandle handle)

Parameters

The AtomicSafetyHandle to check.

Remarks

Throws an exception if the AtomicSafetyHandle is already destroyed.
An
AtomicSafetyHandle
is invalid under the following conditions:
  • The version number it stores no longer matches the version number of the associated entry in the safety system.
  • AtomicSafetyHandle.Release is called on the
    AtomicSafetyHandle
    , or on another
    AtomicSafetyHandle
    that references the same memory region.
  • The secondary version number it stores no longer matches the secondary version number of the associated entry in the safety system. This situation happens when AtomicSafetyHandle.CheckWriteAndBumpSecondaryVersion or SetBumpSecondaryVersionOnSchedule are called on the
    AtomicSafetyHandle
    .
For more information about container version numbers, refer to Copying NativeContainer structures.
CheckExistsAndThrow is identical in behavior to AtomicSafetyHandle.IsHandleValid, except that it throws an exception when the handle isn't valid, rather than returning
false
.
Additional Resources: AtomicSafetyHandle.IsHandleValid